Red de conocimiento informático - Aprendizaje de código fuente - Código fuente de votación

Código fuente de votación

He depurado el código fuente y se ejecuta correctamente en VC++.

#include "stdio.h" /*Función de E/S*/

#include "stdlib.h" /*Otros comentarios*/

# include "string.h" /*Función de cadena*/

#Include "conio. h" /*Función de operación de pantalla*/

#include "mem.h" /* Memoria función de operación*/

#include "ctype.h" /*Función de operación de caracteres*/

#include "alloc.h" /*Función de asignación dinámica de direcciones*/

Puntuación estructural

{

palabra clara;

char Xue Hao[8];

Char· Ziming[ 20];

Fracción flotante[6];

}datos, info[1000];

int i, j, k = 0; >

char temp[20], ch;

ARCHIVO *fp, * FP 1

void Shuru()

{

if((fp=fopen("s_score.txt "," a b+ ")== NULL)

{

printf("No se puede abrir el archivo.\n ");

getch(); exit(0);

}

for(I = 0; i<=1000; i++)

{

printf("\nPor favor, número de Shu Ruxue:");

gets(data. xuehao);

printf("Por favor, califica a Shu Ruziming:");

gets(data . mingzi);

printf("Califique Shuruyuwen:");

p>

Obtener (temp); puntuación[0]= atof(temp);

printf("Por favor, dale una calificación a Shu Ru Shu Xue:");

Obtener (puntuación temporal); 1]= atof(temp);

printf("Ingrese la puntuación de Yu Ying:");

Obtenga (temp) datos [2]= atof(temp). ;

printf("Por favor califique Shuruwuli:");

Obtener (temp datos. puntuación[3]= atof(temp ); ("Por favor, guarde la puntuación de la escuela china:");

Obtener (temp data . . puntuación[0]+datos . puntuación[1]+datos . puntuación[2]+datos . puntuación[3]+datos .

fwrite(& datos, tamaño de(datos) , 1, FP);

printf("¿Otro? y/n");

ch = getch();

if(ch=='n'||ch=='N ')

Romper;

} f close(FP);

}

Apariencia de piedra no válida()

{

float s; int n;

if((fp=fopen("s_score.txt "," r b+ ")= = NULL)

{

printf("El archivo no se puede leer.

\ n ");

Salir(0);

}

for(I = 0;i<=1000;i++)

{

if((fread(& info[i],sizeof(info[i]),1,fp)!=1)

Descanso;

}

printf(" \ nXue Haozi Ming Yu Wen Shuxue Yu Ying wuli cositas en polvo\ n ");

for(j= 0, k = 1; j<I;j++,k++)

{

Información[j]. Palabras simples = k;

printf(" % 6s % 8s % 3.1f % 3.1 f % 3.1f % 3.1f % 3.1f % 3.1f \ n ",info[j].Xuehao,info[j].Ziming,información[j].Puntuación[0 ], información[j]. Puntuación[1] , información[j]. Puntuación[3], información[4],

Información [j]);

}

obtener. ();

fclose(FP);

}

Modificación nula()

{

si ((fp=fopen("s_score.txt "," r b+ ")= = NULL | |(FP 1 = fopen(" temp . txt ", " w b+ ")== NULL)

{

printf("El archivo no se puede abrir.

\ n ");

Salir (0);

}

printf("\nPor favor, Shu Ru corrija su ID de estudiante:");

scanf("%d ",&I);getchar();

Y ((fread(&data,sizeof(data),1,fp))==1)

{

j = atoi(data . xuehao);

Si (j==i)

{

printf("Número de estudiante: %s\nmingzi:% s\n", data.xuehao, data.mingzi);

printf("Por favor, Shu Ruziming:");

p>

gets(data. mingzi);

printf("Califica a Shu Ruwen:");

Obtener (puntuación temporal[0] = atof(temp); );

printf("Por favor, tarifa Shu Ru Shuxue:");

Obtener (temp datos. puntuación[1]= atof(temp); p>printf("Ingrese la puntuación de Yu Ying:");

Get (temp data.2]= atof(temp); puntuación wuli:");

Obtener (temp); data. puntuación[3]= atof(temp);

printf("Ingrese la puntuación de Hua Xue:");

Obtener (temperatura); puntuación de datos[4]= atof(temp);

puntuación de datos[5]= puntuación de datos[0]+datos. +datos . puntuación[2]+datos . puntuación[3]+datos . puntuación[4];

} fwrite(& datos, tamaño de(datos), 1, FP 1);

}

fseek(fp, 0L, 0);

fseek(fp1, 0L, 0); , tamaño de(datos), 1, fp1))==1)

{

fwrite(& datos, tamaño de(datos) , 1, FP><); p>}

fclose(FP);

fclose(FP 1);

}

void chazhao()

{

if((fp=fopen("s_score.txt "," Rb ")== NULL)

{

printf( "\nEste archivo no se puede abrir.

\ n ");

Salir (0);

}

printf(" \ nPor favor, consulte con Shu Ruxuehao: ");

scanf("%d ",&I);

while(fread(&data,sizeof(data),1,fp)==1)

{

j = atoi(data . xuehao);

If (i==j)

{

printf(" Número de estudiante: %s Ziming : %s\nyuwen:%f\nNúmero de libro:%f\nYu Ying:%f\n wuli:%f\nNúmero de Hua:%f\n ",data.xuehao,data .mingzi, data.score[0] , datos.puntuación[1], datos.puntuación[2], datos.puntuación[3], datos.puntuación[4], datos .puntuación[5]);

} getch();

}

}

Montaña del Vacío Chu()

{

if((fp=fopen(" s_score.txt", "r b+ ")== NULL | |(FP 1 = fopen(" temp . txt ", " w b+ ")== NULL)

{

printf("\n¡Error al abrir score.txt!");

getch();

Salir (0);

}

printf(" \ nIngrese el ID que desea eliminar: ");

scanf("%d ", & ampI(); (fread(& datos, tamaño de(datos), 1, fp))==1)

{

j = atoi( datos . xuehao);

If (j==i)

{

printf("Cualquier tecla lo eliminará.\n ");

getch();

Continuar;

}

fwrite(& datos, tamaño de(datos), 1, FP 1); p>fclose(FP);

fclose(FP 1);

remove(" s _ puntuación . txt ");

Renombrar(" temp. txt ", " s _ score . txt ");

printf("¡Datos eliminados correctamente! \n ");

printf("Cualquier clave devolverá main.

");

getch();

}

principal()

{

mientras(1 )

{

clr SCR(); /*Borrar la pantalla*/

gotoxy(1, 1); /p >

textcolor(amarillo);/*Establece el color de visualización del texto en amarillo*/

textbackground(blue);/*Establece el color de fondo en azul*/

Ventana (1, 1, 99, 99); /*Crea una ventana para mostrar el menú El tamaño de la ventana se diseña según el número de menús*/

clr SCR();

printf("************Bienvenido a la gestión de estudiantes* * * * * * * * * * * * * * * * \ n ");

printf( " * * * * * * * * * * * * * * * * * * * * * * * * * *menú* * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf(" * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * \ n ");

printf(" * 1 & gt; shuru 2 & gtxiu Gai * \ n ");

printf(" * 3 & gt; Shanchu 4 & gtcha Zhao * \ n ");

printf(" * 5 & gt; Shi Xian 6 & gtexit * \ n ");

printf(" * * \ n ");

printf(" *-* \ n ");

printf ("Ingrese lo que desee (1-6):");

ch = getch();

Cambiar (canal)

{< / p>

caso '1':shuru(); romper;

Caso '2': modificar(); romper;

Caso '3': Shanchu ( ); romper;

caso '4': cha Zhao (); romper

caso '5': romper

; ": Salir (0);

Predeterminado: continuar;

}

}