#include <stdio.h>
#include <string.h>
typedef char Tarticulo [5][21];
typedef int Tunidades [5];
void main(){
Tarticulo articulos;
Tunidades unidades;
char art[21];
int i, j, uds, repetido = 0;
for(i=0; i<5; i++){
unidades[i] = -1;
}
for(i=0; i<5; i++){
fflush(stdin);
repetido = 0;
printf("Introduzca el nombre del articulo y las unidades\n");
fgets(art,21,stdin);
scanf("%i", &uds);
for(j=0; j<5; j++){
if((strcmp(art, articulos[j])) == 0){
unidades[j] = unidades[j] + uds;
repetido = 1;
}
}
if(repetido == 0){
for(j=0; j<5; j++){
if ((unidades[j] == -1)&&(strcmp(art, articulos[j])!=0)){
strcpy (articulos[j],art);
unidades[j] = uds;
j=5;
}
}
}
}
for(i=0; i<5; i++){
printf("El articulo %s tiene %i unidades\n", articulos[i], unidades[i]);
}
getch();
}#include <stdio.h>
#include <string.h>
typedef char Tarticulo [5][21];
typedef int Tunidades [5];
void main(){
Tarticulo articulos;
Tunidades unidades;
char art[21];
char seguir = 'n';
int i, j, uds, aux, repetido = 0;
for(i=0; i<5; i++){
unidades[i] = -1;
}
for(i=0; i<5; i++){
fflush(stdin);
repetido = 0;
printf("Introduzca el nombre del articulo y las unidades\n");
fgets(art,21,stdin);
scanf("%i", &uds);
for(j=0; j<5; j++){
if((strcmp(art, articulos[j])) == 0){
unidades[j] = unidades[j] + uds;
repetido = 1;
i--;
}
}
if(repetido == 0){
for(j=0; j<5; j++){
if ((unidades[j] == -1)&&(strcmp(art, articulos[j])!=0)){
strcpy (articulos[j],art);
unidades[j] = uds;
j=5;
}
}
}
if(i<4){
printf("Si quiere salir, introduzca s \n");
seguir=getch();
if(seguir == 's'){
aux=i+1;
i=5;
}
}else(aux=i+1);
}
for(i=0; i<aux; i++){
printf("El articulo %s tiene %i unidades\n", articulos[i], unidades[i]);
}
getch();
}Eruanion escribió:Y porque no haces un menu?¿
Es decir, una pantalla con 2 opciones.
1. Introducir nuevo artículo
2. Salir
Se quedará esperando una acción, si pulsas 2 se sale, si pulsas 1 entras en eso que tienes, y cuando termines de introducir un artículo, preguntas si quieres introducir otro o volver al menú. Yo siempre lo hacía así.
darix escribió:A coñe, entendia que querias repetir todo el programa, que el codigo me lo mire muy en diagonal