[ Foro de C ]

Error al compilar código. Se desea dar de alta datos y posteriormente buscarlos

25-Nov-2020 17:51
Invitado (Miguel ?ngel )
1 Respuestas

Hice este programa como le profesor me enseñó, el jamás lo compiló, pero; por más que busco información no encuentro cómo hacerlo, ojalá me puedan ayudar.


#include <stdio.h>
#include <stdlib.h>
int main()
	{
		char nombre[50],apaterno[50],amaterno[50];
		int i,edad,boleta, op;
		for(i=0;i<=3;i++);
		{
			FILE *arch;
			if(arch=fopen("datos.txt","a")==NULL)
			{printf ("No abrió el archivo");
			exit(1);
			}
				printf("Ingrese el nombre\n");
			    scanf("%s",nombre[i]);
				printf("Ingresa el apellido paterno \n");
			    scanf("%s",apaterno);
				printf("Ingresa el apellido materno \n");
				scanf("%s",amaterno);
				printf("Ingresa la edad \n");
				scanf("%d",edad);
				printf("Ingresa la boleta \n");
				scanf("%d",boleta);
				fprintf("%s,%s,%s,%d,%d", nombre,apaterno,amaterno,edad,boleta);
					printf("Ingresa el numero de la opción\n");
			        printf("1.-Dar de alta los datos\n");
			        printf("2.-Buscar datos\n");
			        printf("Salir\n");
			        scanf("%d",&op);
			        if (op==1)
				    goto principal;
			        else if (op==2){
				printf("CONSULTA\n");
				printf("Ingresa el nombre que desea consultar\n");
				scanf("%s",&nombre);
				printf("Ingresa el apellido paterno que desea consultar\n");
				scanf("%d",&apaterno);
				printf("El alumno que buscas es: \n");
				printf("nombre: %s  \n",nombre);
				printf("Apellido paterno: %s  \n",apaterno);
				printf("Apellido materno: %s  \n",amaterno);
				printf("Boleta: %d  \n",boleta);
				printf("Edad: %d  \n",edad);
				printf("\n");
				goto menu;
				}
			else
				{
					printf("Fin de programa\n");
				}
				return 0;
			}
		}


 


10-Dec-2020 20:34
Invitado (didac)

hola miguel angel

- para empezar resalta el goto en general esta prohibido
 pero además salta a la etiqueta menu que no existe

- tambíen resalta el caos con la sangria que dificulta la
 lectura de tu código

- usas fprintf como un printf normal y no lo es

- creas y abres un archivo en cada ciclo del bucle

- no cierras el archivo

- en ningun lado lees del archivo

- etc, etc.


# en general estas muy verde

- olvidate del goto, usa programación estructurada

- crear una estructura con los datos

- haz un diagrama de flujo de tu
 algoritmo para ver ahí que todo bien

- divide el programa en procesos o funciones
 para tener mejor legibilidad por ej
     · menu de opciones
     · introcución de datos
     · visualización de datos
     · altas, busquedas, ...
       como funciones separadas

usa algun libro como referencia hay muchos por internet
cuando tengas dudas usa el buscador

si despues de esto no has podido resolverlas
pregunta concretando y dando detalles del problema

suete ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)