Tengo una pregunta sobre programación en C. ¿Puede recomendarme un buen foro? ¡Sería genial si pudieras responderla!
/*
1) Los cursos se configuran según cuatro atributos: cursos de pregrado (o cursos de posgrado), calificaciones aplicables, departamentos y especialidades
Por favor cree cursos Estructura de datos;
2) Utilice el método de archivo proporcionado por el lenguaje C para diseñar la "base de datos del curso" y definirla de acuerdo con los datos del curso.
2) Diseñar la "base de datos del curso" proporcionando archivos en lenguaje C y explicar el formato del archivo y la relación entre el archivo y la estructura de datos del curso de acuerdo con la estructura de datos del curso definida;
p >3) Desarrollar un "sistema de consulta" para cursos, que requiere la entrada directa de cuatro contenidos, incluidos cursos de pregrado (o cursos de posgrado), calificaciones aplicables, departamentos y especialidades en forma de diálogo persona-computadora. (3) Desarrollar un "sistema de modificación de cursos" ingresando directamente el "código" de cuatro atributos: curso de pregrado (o curso de posgrado)
, calificación aplicable, departamento y especialización
Mostrar todos los cursos.
Atributos del departamento y especialidad a la que pertenece el curso.
*/
#include lt;stdio.hgt;
#include lt;stdlib.hgt;
#include lt; string.hgt;
estructura cursos
{<
char nombre[20];
int isgraduado;
calificación larga;
academia char[50];
departamento char[50];
}curso[2000]; >void Show(int n, int *index);
int Add();
void Delete(int n, int *index);
int Buscar(información de cursos, int *index);
void Initcourse(cursosamp;info);
void SaveData();
void OpenData();
void main()
{
int nSel, n, i, index[2000]
char IsSure; ;
información de los cursos;
for(i=0;ilt;2000;i)
{
Initcourse(curso[i ]);
index[i]=-1
}
hacer{
printf("/ t\tEl Administrador de información del curso\n");
printf("/t1.Insertar una nueva información.\t2.Eliminar una información.\n" );
printf( "\t3.Buscar una información.\t4.Modificar una información.\n");
printf("\t5.Mostrar toda la información.\t\t6.Guardar toda la información actual.\n"
printf("\t7.Abrir archivo de datos.\t\t8.Limpiar pantalla.\n");
printf("\t9.Qite system.\n ");
printf("¿Qué vas a querer: ");
cingt; gt; nSel;
switch(nSel)
{
caso 1:
Agregar();
romper
caso 2:
printf("El curso que desea eliminar es: ");
Initcourse(info
gets(info.name); =Buscar(información, índice);
si(n)
>
{
printf("d curso encontrado.
¿Estás seguro de que quieres eliminarlo? (S/N): \n", n);
scanf("c", amp; IsSure);
if(IsSure=='y' || IsSure= ='Y ')
{
Delete(n, index);
printf("La información se elimina.\n"); >
}
}
else printf("No se encuentra la información.\n");
break
caso 3:
printf("El curso que desea buscar es:\n");
Initcourse(info);
printf(" Nombre del curso: "); gets(info.name);
printf("Calificación del curso: "); scanf("d", & info.grade);
printf ( "¿Es el curso de este estudiante de posgrado(S/N):");
scanf("c",&IsSure);
info.isgraduado=(IsSure==' y'| |IsSure=='Y');
printf("Academia:"); gets(info.academy) )
printf("Departamento:"); departamento);
n=Buscar(info, índice);
if(n) Mostrar(n, índice
else printf( "La información no se encuentra.\n");
break;
caso 4:
printf("El curso que desea modificar es: ");
Initcourse(info);
gets(info.name);
n=Buscar(info, índice
if); (n)
{
for(i=0;ilt;n;i)
{
Mostrar( 1, amp ; index[i]);
printf("Nombre del curso: "); obtiene(curso[index[i]].nombre); ); scanf("d", curso[index[i]].grado);
printf("¿Es el curso de este estudiante de posgrado (Y/N):");
p>
scanf("c",&IsSure);
curso[index[i]].isgraduado=(IsSure=='y'|| IsSure=='Y');
printf("Academia:"); gets(curso[índice[i]].acade
mi);
printf("Departamento: "); obtiene(curso[índice[i]].departamento
}
}
else printf("No se encuentra la información.\n");
break
caso 5:
Show(0, NULL);
ruptura;
caso 6:
SaveData(); 7:
OpenData();
ruptura;
caso 8:
sistema("cls");
descanso;
caso 9:
retorno
}
}mientras(nSel!=9); p> p>
} } while(nSel!
int Add()
{
char IsOther;
int i;
for(i=0;ilt;2000;i) if(curso[i].gradelt;0) descanso;
if(i==2000) p>
{
printf("¡El curso está completo!\n");
return -1; > printf ("Ingrese información del curso:\n");
do
{
printf("Nombre del curso: "); ]. nombre);
printf("Calificación del curso:"); scanf("d", curso[i].grado);
printf("¿Es el curso de este estudiante de posgrado? (S/N): ");
scanf("c",amp;IsOther);
curso[i].isgraduado=(IsOther=='y'|| IsOther=='Y');
printf("Academia:"); gets(curso[i].academia);
printf("Departamento:"); curso[i].departamento);
printf("¿Ingresas otro?(Y/N):");
scanf("c",amp;IsOther);
} while(IsOther=='y'||IsOther=='Y');
return i; >void Show(int n, int *index)
{
printf("Curso\t\tGrado\tipo\tAcademia\tDepartamento\n");
if(ngt; 0)
{
for(int i=0; ilt; n; i)
{
printf("s\t\t", curso[índice [i]].nombre);
printf("d\t", curso[índice[i]); ].grado);
if(curso[n].printf("s\t\t", curso[índice[i]].academia);
printf(" s\n", curso[índice[i]].departamento);
}
}
p> else
{
while(curso[n].gradegt; 0)
{
printf("s\t", curso[n].nombre);
printf("d\t", curso[n].grado);
if(curso[n].isgraduado) printf("Graduado\t");
else printf("Under\t");
printf("s\t\t", curso[n].academia).
printf("s \n", curso[n].departamento);
n ;
}
}
}
}
void Eliminar(int n, int *index)
{
int i
for(i=0 ; ilt; n; i )
{
memset(curso[índice[i]].ademy, 0, 20); index[i]].p>
memset(curso[index[i]].nombre, 0, 20
curso[index[i]].calificación=-); 1;
curso[index[i]].isgraduado=-1;
}
}
Int Search(información de cursos) , int *index)
{
int i, j=0, k[5];
k[0]=(info.grade!= -1);
k[1]=(info.grade!=-1);