如何用C语言实现大学排课

如何用C语言实现大学排课,第1张

#include <stdio.h>

#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,也可以编写完美的界面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11736137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存