C语言编写学生信息管理系统,不要报错的......

Python017

C语言编写学生信息管理系统,不要报错的......,第1张

可以输入

输出

查找

排序学生成绩

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define

N

50

struct

Student

{

long

number

char

name[20]

int

score

}stu[N],t

struct

Student

*p

int

Num=0

void

input()

{

char

ch

for(p=stu+Nump-stu<Np++)

{

Num++

printf("请输入第%d个学生的学号:",Num)

scanf("%ld",&p->number)

printf("请输入第%d个学生的姓名:",Num)

scanf("%s",p->name)

printf("请输入第%d个学生的成绩:",Num)

scanf("%d",&p->score)

if(Num<N)

{

printf("\n已输入%d个学生的信息,是否继续输入(y/n)?",Num)

ch=getchar()

scanf("%c",&ch)

if(ch=='n')

break

}

else

printf("已输入%d个学生的信息,不能再输入\n",N)

}

}

void

output()

{

char

ch

for(p=stup-stu<Nump++)

{

printf("学号\t\t\t姓名\t\t\t成绩\n")

printf("%-24ld%-24s%d\n",p->number,p->name,p->score)

}

printf("按回车键继续\n")

ch=getchar()

ch=getchar()

}

void

sort()

{

char

ch

int

i,j

for(i=0i<Num-1i++)

for(j=i+1j<Numj++)

{

if(stu[i].score<stu[j].score)

{

t=stu[i]

stu[i]=stu[j]

stu[j]=t

}

}

printf("已排序完毕,是否输出排序后学生信息(y/n)?")

ch=getchar()

if(ch=getchar()=='y')

output()

}

void

search()

{

char

nam[20],ch

int

k=0

fflush(stdin)

printf("请输入需要查询的学生姓名:")

gets(nam)

for(p=stup-stu<Nump++)

{

if(!strcmp(nam,p->name))

{

printf("学号\t\t\t姓名\t\t\t成绩\n")

printf("%-24ld%-24s%d\n",p->number,p->name,p->score)

k=1

}

}

if(k==0)

printf

("不存在该学生信息\n")

printf("按回车键继续\n")

ch=getchar()

}

int

menu()

{

int

choice

printf("\t\t学生信息管理系统\n")

printf("\t1.输入学生的成绩\n\t2.输出学生的成绩\n\t3.排序学生的成绩\n\t4.查找学生的成绩\n\t5.退出系统\n")

printf("\n请输入你的选择(1-5):")

scanf("%d",&choice)

return

choice

}

main()

{

while(1)

{

switch(menu())

{

case

1:input()break

case

2:output()break

case

3:sort()break

case

4:search()break

case

5:exit(0)

}

}

}

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

//链表结点结构体声明

typedef struct subjects

{

char name[20]

float score

}sub

typedef struct student

{

int num

char name[20]

sub  subject[3]

struct student* next

}stu,*pstu

#define SIZE sizeof(stu)

//函数申明

pstu LoadInfo()

void PrintMenu()

pstu AddStu(pstu )

pstu DeleStu(pstu )

pstu RwrStu(pstu )

void FindStu(pstu , char )

void Count(pstu ,char * ,float ,float )

void Rank(pstu ,char * )

void SaveQuit(pstu )

//创建菜单,进入选择循环

while(1)

{

PrintMenu()

printf("请输入您的选择编号:")

scanf("%d",&n)

getchar()                   

switch(n)

{

case 1:

{

system("cls")           

j=0

while(4!=j)       

{

printf("欢迎进入信息管理版块!\n\n")

printf("\025 1、添加学生\n")

printf("\025 2、删除学生\n")

printf("\025 3、修改学生信息\n")

printf("\025 4、返回\n")

printf("请输入您的选择编号:\n")

scanf("%d",&j)

getchar()

if     ( 1 == j) head = AddStu(head)     

else if( 2 == j) head = DeleStu(head)   

else if( 3 == j) head = RwrStu(head)     

else if( 4 == j)

else printf("输入有误,请重新输入!\n")

}

case 2:

{

//信息查询

system("cls")

printf("欢迎进入信息查询版块!\n")

printf("请输入要查询的学生编号:")

scanf("%d",&j)

getchar()

//printf("%d\n",j)          //检测输入是否成功,调试程序用

FindStu(head,j)            //查询并输出

printf("\n请输入回车键返回主菜单!")

getchar()

system("cls")

break

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

#include <stdio.h>

#include <string.h>

int n

struct Student {

int no

char name[10]

int score[5]

int sum

int average

}student[100000]

void Sort(Student *s){

for(int i=0i<ni++)

for(int j=i+1j<nj++){

if(s[j].sum>s[i].sum){

char ns[100]

strcpy(ns,s[i].name)

strcpy(s[i].name,s[j].name)

strcpy(s[j].name,ns)

int snum=s[i].sum,save=s[i].average

s[i].sum=s[j].sum,s[i].average=s[j].average

s[j].sum=snum,s[j].average=save

}

}

}

void printInfo() {

for (int i = 0i <ni++) {

printf("%s,%d,%d\n", student[i].name, student[i].sum, student[i].average)

}

}

int main()

{

printf("请输入学生的数量n:")

scanf("%d",&n)

for (int i = 0i <ni++) {

printf("请分别输入第%d名同学的id,名字,成绩1,成绩2,成绩3,成绩4", i + 1)

scanf("%d%s%d%d%d%d", &student[i].no, student[i].name, &student[i].score[0], &student[i].score[1], &student[i].score[2],&student[i].score[3])

student[i].sum=student[i].score[0]+student[i].score[1]+student[i].score[2]+student[i].score[3]

student[i].average=student[i].sum/4

}

Sort(student)

printInfo()

return 0

}