
Ayudenme a corregir mi codigo c++
Publicado por Carlos (1 intervención) el 24/02/2022 13:33:36
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
// declaracion de funciones
void menuOpciones();
void ingreso();
void mostrar();
void vacia();
void llena();
void elimina();
struct personal {
char nombre [40];
char apellido [40];
int edad;
float sueldo;
} ;
int j,i =0;
int opc=0;
char k [3];
personal cliente [100];
float suma=0;
int main (){
int edad[100];
int opc=0;
menuOpciones();
getch();
return 0;
}
void menuOpciones(){
int opcion;
char temp[10];
do{
system("cls");
printf("\n\t\t MENU OPCIONES \n");
printf("\n 1.- INGRESO ");
printf("\n 2.- MOSTRAR INGRESADOS ");
printf("\n 3.- CLIENTES ACTIVOS");
printf("\n 4.- CLIENTES CANCELADOS");
printf("\n 5.- ELIMINAR");
printf("\n 6.- SALIR ");
printf("\n\t Ingrese la opcion: ");
fgets(temp,10,stdin);
opcion=atoi(temp);
switch(opcion){
case 1:
ingreso();
break;
case 2:
mostrar();
break;
case 3:
vacia();
break;
case 4:
llena();
break;
case 5:
elimina();
break;
case 6:
printf("\n\t GRACIAS..");
Sleep(90);
exit(-1);
break;
default:
printf("Opcion incorrecta");
Sleep(50);
break;
}
}while(opcion !=6);
menuOpciones();
}
void ingreso(){
do{
system("cls");
printf("Ingrese el nombre: \n" );
scanf("%s", &cliente[i].nombre);
printf("Ingrese el apellido: \n" );
scanf("%s", &cliente[i].apellido);
printf("Ingrese el edad: \n" );
scanf("%d", &cliente[i].edad);
printf("Ingrese el sueldo: \n" );
scanf("%f", &cliente[i].sueldo);
printf("Desea agregar otra persona: [si=1/no=2] \n");
scanf("%d" ,&opc);
i++;
}while (opc==1 && i<100);
}
void mostrar(){
for (j=0;j<i;j++){
system("cls");
printf("\n nombre : %s \n ",cliente[j].nombre );
printf("\n apellido: %s \n ",cliente[j].apellido );
printf("\n edad : %d \n ",cliente[j].edad );
printf("\n sueldo : %f \n ",cliente[j].sueldo );
getch();
}
}
void vacia (){
system("cls");
if ( i==0) // i es el indice al ser estatico con el controlamos
printf("\n Clientes activos \n");
else
printf("\n la estructura tiene elementos \n");
getch();
}
void llena(){
system("cls");
if (i>100)
printf ("\n lClientes cancelados \n");
else
printf ("\n la estructura tiene espacio \n");
getch();
}
void elimina(){
do{
system("cls");
printf("\n EL CLIENTE A ELIMINAR ES : \n ");
printf("\n nombre : %s \n ",cliente[i-1].nombre );
printf("\n apellido: %s \n ",cliente[i-1].apellido );
printf("\n edad : %d \n ",cliente[i-1].edad );
printf("\n sueldo : %f \n ",cliente[i-1].sueldo );
printf("\n Desea elimnar otro cliente: [si=1/no=2] \n");
scanf("%d" ,&opc);
i--;
getch();
}while (opc==1 && i>0);
}
Buenas tardes me pueden ayudar a corregir mi código para que:
-Al momento de usar espacio no se bugue al momento de llenar los datos personales.
-Que en la opción de eliminar permita escoger que deseo eliminar y que no elimine automáticamente.
-Que me separe los fletes que están activos de los que están cancelados .
-Y que me permita modificar que un flete que esta cancelado lo pueda cambiar a un flete activo.
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
// declaracion de funciones
void menuOpciones();
void ingreso();
void mostrar();
void vacia();
void llena();
void elimina();
struct personal {
char nombre [40];
char apellido [40];
int edad;
float sueldo;
} ;
int j,i =0;
int opc=0;
char k [3];
personal cliente [100];
float suma=0;
int main (){
int edad[100];
int opc=0;
menuOpciones();
getch();
return 0;
}
void menuOpciones(){
int opcion;
char temp[10];
do{
system("cls");
printf("\n\t\t MENU OPCIONES \n");
printf("\n 1.- INGRESO ");
printf("\n 2.- MOSTRAR INGRESADOS ");
printf("\n 3.- CLIENTES ACTIVOS");
printf("\n 4.- CLIENTES CANCELADOS");
printf("\n 5.- ELIMINAR");
printf("\n 6.- SALIR ");
printf("\n\t Ingrese la opcion: ");
fgets(temp,10,stdin);
opcion=atoi(temp);
switch(opcion){
case 1:
ingreso();
break;
case 2:
mostrar();
break;
case 3:
vacia();
break;
case 4:
llena();
break;
case 5:
elimina();
break;
case 6:
printf("\n\t GRACIAS..");
Sleep(90);
exit(-1);
break;
default:
printf("Opcion incorrecta");
Sleep(50);
break;
}
}while(opcion !=6);
menuOpciones();
}
void ingreso(){
do{
system("cls");
printf("Ingrese el nombre: \n" );
scanf("%s", &cliente[i].nombre);
printf("Ingrese el apellido: \n" );
scanf("%s", &cliente[i].apellido);
printf("Ingrese el edad: \n" );
scanf("%d", &cliente[i].edad);
printf("Ingrese el sueldo: \n" );
scanf("%f", &cliente[i].sueldo);
printf("Desea agregar otra persona: [si=1/no=2] \n");
scanf("%d" ,&opc);
i++;
}while (opc==1 && i<100);
}
void mostrar(){
for (j=0;j<i;j++){
system("cls");
printf("\n nombre : %s \n ",cliente[j].nombre );
printf("\n apellido: %s \n ",cliente[j].apellido );
printf("\n edad : %d \n ",cliente[j].edad );
printf("\n sueldo : %f \n ",cliente[j].sueldo );
getch();
}
}
void vacia (){
system("cls");
if ( i==0) // i es el indice al ser estatico con el controlamos
printf("\n Clientes activos \n");
else
printf("\n la estructura tiene elementos \n");
getch();
}
void llena(){
system("cls");
if (i>100)
printf ("\n lClientes cancelados \n");
else
printf ("\n la estructura tiene espacio \n");
getch();
}
void elimina(){
do{
system("cls");
printf("\n EL CLIENTE A ELIMINAR ES : \n ");
printf("\n nombre : %s \n ",cliente[i-1].nombre );
printf("\n apellido: %s \n ",cliente[i-1].apellido );
printf("\n edad : %d \n ",cliente[i-1].edad );
printf("\n sueldo : %f \n ",cliente[i-1].sueldo );
printf("\n Desea elimnar otro cliente: [si=1/no=2] \n");
scanf("%d" ,&opc);
i--;
getch();
}while (opc==1 && i>0);
}
Buenas tardes me pueden ayudar a corregir mi código para que:
-Al momento de usar espacio no se bugue al momento de llenar los datos personales.
-Que en la opción de eliminar permita escoger que deseo eliminar y que no elimine automáticamente.
-Que me separe los fletes que están activos de los que están cancelados .
-Y que me permita modificar que un flete que esta cancelado lo pueda cambiar a un flete activo.
Valora esta pregunta


0