Ayuda con la tarea de programación en C
#include "stdio.h" /*Funciones de E/S**//*Funciones de E/S**/
#include "stdlib.h " /* Otras instrucciones**/
#include "string.h"/*Función de cadena**/
#include "conio.h" /*Función de operación de pantalla** /
#include "mem.h"/* Función de operación de memoria**/
#include "ctype.h"/* Función de operación de caracteres**/
#include "alloc.h"/* Función de asignación dinámica de direcciones**/
struct score
{
int mingci; p>char xuehao[8];
char mingzi[20];
puntuación flotante[6];
}datos, información[1000]; /p>
int i, j,k=0;
char temp[20],ch
ARCHIVO *fp,*fp1; >void shuru()
{
if((fp=fopen("s_score.txt", "ab+"))==NULL)
{
printf("no se puede abrir este archivo.\n");
getch();exit(0); >for(i=0;i<=1000;i++)
{
printf("/nPor favor shuru xuehao:");
obtiene(datos .
printf("Por favor, shuru mingzi:");
gets(data.mingzi);
printf("Por favor, shuru yuwen puntua:");
gets(temp);data.score[0]=atof(data.mingzi)score[0]=atof(temp);
printf("Por favor, shuru shuxue puntuación: ");
obtiene(temp);data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data, tamaño de(datos),1,fp);
printf("otro?y/n");
ch=getch(); p>if(ch=='n'||ch=='N')
romper
} fclose(fp); (fp);
}
voidoid().
void xianshi()
{
float s;int n
if((fp=fopen("s_score.txt", "rb+"))==NULL)
{
printf("No se puede leer este archivo.\n");
exit(0);
}
for(i=0;i<=1000;i++) p>
{<
/p>
if((fread(&info[i],sizeof(info[i]),1, fp))! =1)
break;
printf("/nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");
for(j=0,k=1;j
{
info[j].mingci=k;
printf("%6s %8s %3.1f %3.1f %3.1f %3.1f % 3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2], info[j].score[3],info[j].score[4],
info[j].score[5]
}
);getch.
getch();
fclose(fp
}
void xiugai()
{
if((fp=fopen("s_score.txt", "rb+"))==NULL||(fp1=fopen("temp.txt", "wb+") )==NULL )
{
printf("No se puede abrir este archivo.\n");
exit(0); p>}
printf("/nPLease shuru xiugai xuehao:");
scanf("%% d",&i)); "/nPLease shuru xiugai xuehao.d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf( "xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi
f("xuehao:%s\nmingzi:%s\n",data.xuehao, data.mingzi)mingzi);
printf("Por favor, shuru mingzi:");
gets(data.mingzi);
printf("Por favor, shuru puntuación de yuwen:");
gets(temp);data.score[3]=atof(temp);
printf("Ingrese la puntuación de huaxue:"); p>
p>
obtiene (temp); datos.puntuación[4]=atof(temp);
datos.puntuación[5]=datos.puntuación[0]+datos. puntuación[1]+ datos.puntuación[2]+datos.puntuación[3]+datos.puntuación[4]
} fwrite(&data,sizeof(data),1,fp1); p>
}
}
fseek(fp,0L,0);
/p>
fseek(fp1,0L,0);
while((fread(&data,sizeof( data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp>}
fclose(fp); (fp1);
}
void chazhao()
{
if((fp=fopen("s_score.txt" , "rb"))==NULL)
{
printf("\nNo se puede abrir este archivo.\n");
}
printf("/nPLease shuru xuehao chakan:");
scanf("%d",&i); p> while(fread(&data,sizeof(data),1,fp)==1 )
{
j=atoi(data.xuehao
<); p>if(i==j){
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu: %f\n wuli :%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score [3],datos.puntuación[4],datos.puntuación[5]);
}getch()
}
}
}
void shanchu()
{
if((fp=fopen("s_score.txt", "rb+"))= =NULL||(fp1=fopen("temp.txt"," wb+"))==NULL)
{
printf("\nopen score.txt falló. ");
getch();
exit(0);
}
printf("/nPor favor, introduzca el ID que quiero eliminar:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp ))==1)
{
j= atoi(data.xuehao
if(j==i)
{
printf("Cualquier tecla lo eliminará.\n");
getch()
continuar
}
fwrite(&data,sizeof(datos),1,fp1
}
fclose(fp); fp1);
remove("s_score.txt");
rename("temp .txt", "s_score.txt");
printf( "La eliminación de datos fue exitosa
!\n");
printf("Cualquier tecla volverá a principal.");
getch();
}
main()
{
mientras(1)
{
clrscr() /*Borrar pantalla*/ p>
gotoxy(1,1); /*Mover el cursor*/
textcolor(YELLOW); /*Establecer el color del texto en amarillo*
textbackground(BLUE); ; /*Establece el color de fondo en azul*/
window(1,1,99,99); /*Crea una ventana para mostrar el menú. de elementos del menú*/ p>
clrscr();
printf("******** *****bienvenido a utilizar la gestión de estudiantes****** ********** *****\n");
printf("********************* **********menú**** ****************************\n"); p>
printf("******* *******************menú**************** ******************** *\n");
printf("* ============== ==================== ========================= *\n");
printf("* 1>shuru 2>xiugai *\n ");
printf("* 1>shuru 2>xiugai *\n");
printf("* 3>shanchu 4>chazhao *\n");
printf("* 5>xianshi 6>salir *\n"); ("* *\n");
printf("* ------------------------------ ------------------------- ------- *\n");
printf(" Por favor ingrese que desea(1-6):");
ch=getch();
switch(ch)
{
caso '1':shuru();
caso '2':xiugai ();
caso '3':
caso; '4': chazhao (); romper;
caso '5': xianshi() ;
caso '6': salir(0); p>predeterminado: continuar
}
}
}
}