#include <stdlib.h>
#define M 100
struct Student
{
int StudentID
char name[50]
float PeacetimeScore
float TestScore
float TotalScore
}
int main()
{
int InputInformation (struct Student student[])
void TotalScoreStatistics (struct Student student[], int n)
void TotalScoreSort (struct Student student[], int n)
void ScoreRevise (struct Student student[], int n)
void display (struct Student student[], int n)
int menu ()
int n = 1, count
struct Student student[M]
while (n)
{
n = menu ()
switch (n)
{
case 1:
count = InputInformation (student)
break
case 2:
TotalScoreStatistics (student, count)
break
case 3:
TotalScoreSort (student, count)
break
case 4:
ScoreRevise (student, count)
break
case 5:
display (student, count)
break
case 0:
printf ("您选择了退出!\n")
break
default :
printf ("输入有误,重新输入!\n")
break
}
}
return 0
}
int menu ()
{
int n, i
char * menu[]={"* * * * * * * * * * * * * * *MENU* * * * * * * * * * * * * * *",
" 1.学生信息录入",
" 2.总成绩统计",
" 3.总成绩排序",
" 4.成绩更改",
" 5.显示所有学生信息",
" 0.退出",
"* * * * * * * * * * * * * * *MENU* * * * * * * * * * * * * * *"}
for (i=0i<8i++)
printf ("%s\n", menu[i])
printf ("请选择(输入序号):")
scanf ("%d", &n)
return n
}
int InputInformation (struct Student student[])
{
int i
FILE *fp
for (i=0i++)
{
printf ("输入第 %d 个学生的如下信息:\n", i+1)
printf ("学号:")
scanf ("%d", &student[i].StudentID)
if (student[i].StudentID == 0) //如果学号输入是0则结束输入
break
getchar ()
printf ("姓名:")
gets (student[i].name)
printf ("平时成绩:")
scanf ("%f", &student[i].PeacetimeScore)
printf ("考试成绩:")
scanf ("%f", &student[i].TestScore)
fp = fopen ("myfile.txt", "a")
if (fp == NULL)
{
printf ("文件打开失败!\n")
exit (-1)
}
fprintf (fp, "%d %s %.2f %.2f\n", student[i].StudentID, student[i].name,
student[i].PeacetimeScore, student[i].TestScore)
}
fclose (fp)//关闭文件
return i
}
void TotalScoreStatistics (struct Student student[], int n)
{
int i
printf ("\n 学号 姓名 总成绩\n\n")
for (i=0i<ni++)
{
student[i].TotalScore = student[i].PeacetimeScore * 0.2 + student[i].TestScore * 0.8
printf (" %d%s%.2f\n", student[i].StudentID, student[i].name, student[i].TotalScore)
}
}
void TotalScoreSort (struct Student student[], int n)
{
int i, j
float temp
for (i=0i<ni++)
for (j=i+1j<nj++)
if (student[i].TotalScore >student[j].TotalScore)
{
temp = student[i].TotalScore
student[i].TotalScore = student[j].TotalScore
student[j].TotalScore =temp
}
for (i=0i<ni++)
printf ("%.2f ", student[i].TotalScore)
printf ("\n")
}
void ScoreRevise (struct Student student[], int n)
{
int m, k, i = 0
FILE *fp
printf ("输入要修改的学生的学号:")
scanf ("%d", &k)
printf ("您是要修改平时成绩还是考试成绩呢?\n")
printf ("1.修改平时成绩\n")
printf ("2.修改考试成绩\n")
printf ("输入您的选择:")
scanf ("%d", &m)
for (i=0i<ni++)
if (student[i].StudentID == k)
if (m == 1)
C语言主要是基于底层的开发,驱动开发、嵌入式开发等。使用C语言来 *** 作计算机底层可以说效率是非常之高。同时也可以用来编写任何需要效率的应用程序。基本上所有的基础程序都有C语言的身影。1、C语言是许多高级计算机语言的基础,学好C语言能更好的学习其他高级语言,为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用,Linux十分强大,可以百度了解。
2、C语言是一种计算机程序设计语言。具有高级语言的特点,又具有汇编语言的特点。C语言可作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
3、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。
4、C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。
5、如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言。
任何你现在常用的软件都不能编写,因为这些软件都是界面式的,谭老讲的都是c语言基础。建议你去看windows程序设计,这个是以c为基础的,学会这个就可以编写出界面了。以后学了c++还可以学习mfc,也可以编写完美的界面。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)