當前位置:首頁 » 課程大全 » c語言學生學籍管理系統課程設計

c語言學生學籍管理系統課程設計

發布時間: 2021-03-07 08:07:57

A. C語言學生學籍管理系統設計

語言學生學籍管理系統設計
你這個具體多少字,內容怎麼說,我探討清晰,你
懂我意思的

B. c語言課程設計學籍管理系統

這個是我曾經做的,上面功課和你的不一樣,把漢字改下就行了,還有那個人數,人數和排名最後一名數字一樣,你運行一下就清楚了
#include<stdio.h>
#include<malloc.h>
#define M "%-6s%-6d%-6d%-6d%-6d%-6d%-7d%-6d\n"
#define H p->name,p->num,p->grade.Escore,p->grade.Mscore,p->grade.Cscore,p->grade.Pscore,p->grade.Allscore,p->grade.Allrank
typedef struct score{
int Escore;
int Mscore;
int Cscore;
int Pscore;
int Allscore;
int Allrank;
}Sco;
typedef struct student{
char name [20];
int num;
struct score grade;
struct student *next;
}*stu;
struct student *Create(struct student *head)
{
int i,n;
printf("請輸入學生個數;");
scanf("%d",&n);
printf("請輸入信息和成績\n");
printf("姓名,學號,英語,高數,C語言,體育:");
printf("\n");
stu p,q;
p=q=(stu)malloc(sizeof(student));
head=p;
for(i=0;i<n;i++)
{
p->next=q;
p=q;
scanf("%s%d%d%d%d%d",q->name,&q->num,&q->grade.Escore,&q->grade.Mscore,&q->grade.Cscore,&q->grade.Pscore);
q->grade.Allscore=q->grade.Escore+q->grade.Mscore+q->grade.Cscore+q->grade.Pscore;
q=(stu)malloc(sizeof(student));
}
p->next=NULL;
return head;
}
struct student *Change(struct student *head)
{
int n,i,k;
stu p;
p=head;
printf("請輸入要修改的學號:");
scanf("%d",&i);
printf("1.英語 2.高數 3.C語言 4.體育\n");
printf("請輸入要修改的成績:");
scanf("%d",&n);
while(p)
{
if(i==p->num)
switch(n)
{
case 1:
printf("請輸入英語分數:");
scanf("%d",&k);
p->grade.Escore=k;
break;
case 2:
printf("請輸入高數分數:");
scanf("%d",&k);
p->grade.Mscore=k;
break;
case 3:
printf("請輸入C語言分數:");
scanf("%d",&k);
p->grade.Cscore=k;
break;
case 4:
printf("請輸入體育分數:");
scanf("%d",&k);
p->grade.Pscore=k;
break;
}
if(i==p->num) break;
if(p->next)
p=p->next;
}
p->grade.Allscore=p->grade.Escore+p->grade.Mscore+p->grade.Cscore+p->grade.Pscore;
return head;
}
struct student *Insert(struct student *head)
{
stu p,q;
p=q=(stu)malloc(sizeof(student));
p=head;
printf("請輸入姓名和學號:\n");
scanf("%s%d",q->name,&q->num);
printf("請輸入英語,高數,C語言,體育成績:\n");
scanf("%d%d%d%d",&q->grade.Escore,&q->grade.Mscore,&q->grade.Cscore,&q->grade.Pscore);
q->grade.Allscore=q->grade.Escore+q->grade.Mscore+q->grade.Cscore+q->grade.Pscore;
while(p->next)
{
p=p->next;
}
p->next=q;
p=p->next;
p->next=NULL;
return head;
}
struct student *Delet(struct student *head)
{
stu p,q,m;
int n;
printf("請輸入要刪除的學號:");
scanf("%d",&n);
p=head;
if(n==p->num)
{
q=p;
head=p->next;
free(p);
}
else
{
q=p->next;
while(q)
if(q->next==NULL&&n==q->num)
{
m=q;
free(q);
p->next=NULL;
q=NULL;
}
else if(q->next!=NULL&&n==q->num)
{
p->next=q->next;
free(q);
q=NULL;
}
else
{
if(q->next!=NULL)
{
p=q;
q=q->next;
}
}
}
return head;
}
void Look(struct student *head)
{
stu p;
int n,i,k;
p=head;
printf("1.按學號查找 2.按分數查找\n");
printf("請輸入查找的類別:");
scanf("%d",&n);
if(n==1)
{
printf("請輸入要查找的學號:");
scanf("%d",&i);
while(p)
{
if(i==p->num)
{
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
printf(M,H);
}
if(i==p->num) break;
if(p->next)
p=p->next;
}
}
if(n==2)
{
printf("1.英語 2.高數 3.C語言 4.體育 5.總分\n");
printf("請輸入要查找的課程:");
scanf("%d",&i);
switch(i)
{
case 1:
printf("請輸入要查找的英語最低分數:");
scanf("%d",&k);
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(p)
{
if(k<=p->grade.Escore)
printf(M,H);
p=p->next;
}
break;
case 2:
printf("請輸入要查找的高數最低分數:");
scanf("%d",&k);
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(p)
{
if(k<=p->grade.Mscore)
printf(M,H);
p=p->next;
}
break;
case 3:
printf("請輸入要查找C語言語最低分數:");
scanf("%d",&k);
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(p)
{
if(k<=p->grade.Cscore)
printf(M,H);
p=p->next;
}
break;
case 4:
printf("請輸入要查找的體育最低分數:");
scanf("%d",&k);
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(p)
{
if(k<=p->grade.Pscore)
printf(M,H);
p=p->next;
}
break;
case 5:
printf("請輸入要查找的總分最低分數:");
scanf("%d",&k);
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(p)
{
if(k<=p->grade.Allscore)
printf(M,H);
p=p->next;
}
break;
}
}

}
struct student *Rank(struct student *head,struct student *p,int j)
{
int i;
stu q;
i=p->grade.Allscore;
q=head;
while(q)
{
if(q->grade.Allscore>i)
j++;
if(!q->next)break;
q=q->next;
}
p->grade.Allrank=j;
while(p)
{
if(!p->next)break;
{
p=p->next;
Rank(head,p,1);
}
}
return head;

}
void Rankshow(struct student *head,int j)
{
int i;
stu p,q;
q=head;
p=head;
i=j;
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名\n");
while(q)
{
while(p)
if(i==p->grade.Allrank)
{
printf(M,H);
p=p->next;
}
else
p=p->next;
p=head;
i++;
if(!q->next)break;
q=q->next;
}
}
void show(struct student *head)
{
stu p;
printf("姓名 學號 英語 高數 C語言 體育 總成績 排名");
printf("\n");
p=head;
while(p)
{
printf(M,H);
p=p->next;
}
}
void main()
{
int n;
struct student *head,*p;
stu L;
printf("綜合素質測評系統\n");
printf("1.數據錄入\n");
printf("2.數據修改\n");
printf("3.插入操作\n");
printf("4.刪除操作\n");
printf("5.查找操作\n");
printf("6.排序操作\n");
printf("7.數據顯示\n");
printf("0.退出系統\n");
printf("請輸入操作:");
scanf("%d",&n);
while(n!=0)
{
switch(n)
{
case 0:
break;
case 1:
L=Create(head);
Rank(L,L,1);
printf("請輸入操作:");
break;
case 2:
Change(L);
Rank(L,L,1);
printf("請輸入操作:");
break;
case 3:
L=Insert(L);
Rank(L,L,1);
printf("請輸入操作:");
break;
case 4:
L=Delet(L);
Rank(L,L,1);
printf("請輸入操作:");
break;
case 5:
Look(L);
printf("請輸入操作:");
break;
case 6:
Rank(L,L,1);
Rankshow(L,1);
printf("請輸入操作:");
break;
case 7:
show(L);
printf("請輸入操作:");
break;
}
scanf("%d",&n);
}
}

C. 求救:C語言程序課程設計(學生學籍管理系統),要求10個模塊

http://hi..com/xiangqun0811/blog/category/c%D3%EF%D1%D4%B3%CC%D0%F2%C9%E8%BC%C6

http://hi..com/xiangqun0811/

博客里有

D. 大一 c語言課程設計 做一個學生學籍管理系統,越簡單越好

http://www.docin.com/p-110271548.html
c語言編寫的來學生信息管自理系統的設計與實現,不知道是不是你要的。

E. 大一課程設計 學生學籍管理系統(C語言)

http://www.docin.com/p-110271548.html
C語言編寫的學生信息管理系統的設計與實現,不知道是不是你要的。

F. C語言課程設計----學生學籍管理系統

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct stud
{
long num;
char name[20];
double score;
};

typedef struct stucode
{
struct stud student ;
struct stucode *next;
}L;

void menu();
void createlist(struct stucode **r);
void out(struct stucode *r);
void search1(struct stucode *r);
void search2(struct stucode *r);
void del(struct stucode **r);
void insert(struct stucode **r);
void sort(struct stucode **r);

void main()
{
char choose;
int flag=1;
struct stucode *r=NULL;

while(flag)
{
system("cls");
menu();
choose=getchar();
switch(choose)
{
case '1':
createlist(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '2':
search1(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '3':
search2(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '4':
del(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '5':
insert(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '6':
sort(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '7':
out(r);
printf("Testing function 7\nPress any key to continue\n");
getchar();
getchar();
break;

case '0':
flag=0;
printf("The end.\n");
break;

default: printf("\nWrong Selection!(選擇錯誤,請重選!)\n");getchar();getchar();
}
}
}

void createlist(struct stucode **r)
{
struct stucode *p,*t;
long n;
char a[20];
double s;
if(*r) *r=NULL;
printf(" \n請輸入:\n 學號(請按學號升序排列) 姓名 分數 (若要結束請輸入三個為零)\n");
scanf("%ld%s%lf",&n,a,&s);
if(n==0) return;

p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
*r=p;

scanf("%ld%s%lf",&n,a,&s);

while(n)
{
t=p;
p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
t->next=p;
scanf("%ld%s%lf",&n,a,&s);
}
}

void search1(struct stucode *r)
{
long x;
if(!r)
{
printf("沒有學生信息可查詢!\n");
return ;
}
printf(" 請輸入要查詢的學生信息的學生學號:\n");
scanf("%ld",&x);
while(r&&r->student.num!=x)
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void search2(struct stucode *r)
{
char m[20];
if(!r)
{
printf("沒有學生信息可查詢!\n");
return ;
}

printf(" 請輸入要查詢的學生信息的學生姓名:\n");
scanf("%s",m);
while(r&&strcmp(r->student.name,m))
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void del(struct stucode **r)
{
long k;
struct stucode *p=*r,*t;
if(!(*r))
{
printf("沒有學生信息可刪除 !\n");
return ;
}
printf(" 請輸入要刪除的學生信息的學生學號:\n");
scanf("%ld",&k);

if(p->student.num==k)
*r=(*r)->next,free(p);
else
{
while(p->next&&p->next->student.num!=k)
p=p->next;
if(p->next==NULL)
printf("Error! No such student !\n");
else
{
t=p->next;
p->next=p->next->next;
free(t);
}
}

}
void insert(struct stucode **r)
{
long n;
char a[20];
double s;

L *p,*t,*k;
printf(" 請輸入要插入的學生信息的學生學號 姓名 分數:\n");
scanf("%ld%s%lf",&n,a,&s);
p=(L *)malloc(sizeof(L));
p->student.num=n;
p->student.score=s;
strcpy(p->student.name,a);
if(!(*r))
{
*r=p;
(*r)->next=NULL;
return ;
}
if(p->student.num<(*r)->student.num)
p->next=(*r),(*r)=p;
else
{
t=*r;
k=t;
while(t->next&&t->next->student.num<=p->student.num)
t=t->next;
p->next=t->next;
t->next=p;
*r=k;
}
}

void sort(struct stucode **r)
{
struct stucode *t,*p,*q,*z;
if(!r)
{
printf("沒有學生信息可排序!\n");
return ;
}

if(!(*r)||!(*r)->next)
return;

t=*r;
p=t->next;
t->next=NULL;
while(p)
{
q=p->next;
if(p->student.score>t->student.score)
{
p->next=t;
t=p;
}
else
{
z=t;
while(z->next&&z->next->student.score>=p->student.score)
z=z->next;
p->next=z->next;
z->next=p;
}

p=q;
}
*r=t;

}
void out(struct stucode *r)
{
printf("\n\n");
if(!r)
{
printf("沒有學生信息可輸出!\n");
return ;
}

while(r)
{
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
r=r->next;
}
printf("\n\n");
}
void menu()
{
printf("\n 學生信息管理系統\n");
printf("\n 菜單\n\n");
printf("\n 1建立鏈表並顯示\n");
printf("\n 2查找某學號的學生信息\n");
printf("\n 3查找某姓名的學生信息\n");
printf("\n 4刪除某學號的學生信息\n");
printf("\n 5插入新的學生信息\n");
printf("\n 6按分數降序排列輸出\n");
printf("\n 7輸出\n");
printf("\n 0退出\n");

printf("\n 請選擇您要執行的選項:\n");
}

G. C語言課程設計,設計一個小型學籍管理系統

我以前小學期做過這種東西 那會兒做的時候確實挺煩的 說實話 除非你去版淘寶買一個 否則百權度知道里沒什麼人能從頭到尾幫助你 更別想幫你做一個了 因為網上幾乎不可能找到一個功能與你們的要求完全一樣的。這種東西無非是模擬幾個功能,一般就靠文件操作實現簡單的信息記錄讀取功能。趕緊自己開始做啦,要問問題的話等你編的時候遇到麻煩時再提吧 如果需要幫忙可以把實驗指導書之類的東西拿來看看

H. C語言課程設計----學生學籍管理系統 急急急 來大神~

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct stud //學生信息結構
{
long num;
char name[20];
float score;
}Stud;

typedef struct node
{
Stud student;
struct node *next;
}Node;
Node *head=NULL;
void read(void);
void inser(long b);
void print();
void find(long b);
void searchname(char *s);
Node * del(long n);
void sort(int flag);
void menu();

void main()
{
char choose;
int flag=1;

while (flag)
{
menu(); //調用功能菜單函數,顯示菜單項。
printf(" 請選擇:");
choose=getchar();

switch(choose)
{
case '1':read(); //調用建立鏈表的函數;輸出鏈表信息;
print();
printf("\nPress any key Continue ");
//getchar();
getchar();
break;
case '2': //調用按學號查找學生信息的函數;並輸出查找結果信息;
long c;
printf("input the number you want to find:");
scanf("%ld",&c);
find(c);
printf("\nPress any key Continue.");
getchar();
break;
case '3':
//調用按姓名查找學生信息的函數;並輸出查找結果信息;
char s[20];
printf("input the name you want to find:");
scanf("%s",s);
searchname(s);
printf("\n Press any key Continue.");
getchar();
getchar();
break;
case '4':
//調用根據學號刪除某個學生信息的函數;並輸出刪除後的鏈表信息;
Node *h;
long n;
printf("input the number you want to delete:");
scanf("%ld",&n);
h=del(n);
if(h==NULL) printf("No find the student \n");
else print();
printf("\n Press any key Continue.");
getchar();
getchar();
break;
case '5':
//調用插入新的學生信息的函數;並輸出插入後的鏈表信息;
long a;
printf("input the number for the new:\n");
scanf("%ld",&a);
inser(a);
print();
printf("\n Press any key Continue.");
getchar();
getchar();
break;
case '6':
//調用按分數降序排序輸出的函數;並輸出排序後的鏈表信息;
sort(1);
print();
sort(0);
printf("\nPress any key Continue.");
getchar();
getchar();
break;
case '0':
//結束程序運行!
flag=0;
printf("\n *** The End! ***\n");
break;
default: printf("\n Wrong Selection !(選擇錯誤,重選)\n");
getchar();
}
}
}

void menu() //綜合作業功能菜單
{
printf(" \n 學 生 信 息 管 理 系 統\n");
printf(" \n 菜 單\n\n");
printf(" \n 1. 建 立 鏈 表 並 顯 示 \n");
printf(" \n 2. 查 找 某 學 號 的 學 生 信 息 \n");
printf(" \n 3. 查 找 某 姓 名 的 學 生 信 息 \n");
printf(" \n 4. 刪 除 某 個 學 號 的 學 生\n");
printf(" \n 5. 插 入 新 的 學 生 信 息 \n");
printf(" \n 6. 按 分 數 降 序 排 序 輸 出 \n");
printf(" \n 0. 退 出\n\n");
}

void read(void)
{
long a;
printf("input the number:");
scanf("%ld",&a);
while(a>0){
inser(a);
printf("input the number:");
scanf("%ld",&a);
}
}
void inser(long b)
{

Node *last,*current,*p;
current=head;
while(current!=NULL&&b>current->student.num){
last=current;
current=current->next;
}

if(current==NULL||b<current->student.num){
printf("input the name,score:");
p=(Node *)malloc(sizeof(Node));
p->student.num=b;
scanf("%s%f",p->student.name,&p->student.score);
p->next=NULL;
if(current==head){
p->next=head;
head=p;
}
else{
p->next=current;
last->next=p;
}
}
else if(b==current->student.num)
printf("error input a different number:");

}

void print()
{
Node *p=head;
printf("學號 姓名 成績:\n");
while(p!=NULL){
printf("%ld %s %f\n",p->student.num,p->student.name,p->student.score);
p=p->next;
}
printf("\n");
}
void find(long b)
{
Node *p=head;
while(p!=NULL&&b!=p->student.num)
p=p->next;
if(!p) printf("No found\n");
else {
printf("學號 姓名 成績\n");
printf("%ld %s %f\n",p->student.num,p->student.name,p->student.score);
}

}

void searchname(char *s)
{
Node *p=head;
int flag=0;
printf("學號 姓名 成績:\n");
while(p!=NULL)
{
if(strcmp(p->student.name,s)==0)
{
printf("%ld %s %f\n",p->student.num,p->student.name,p->student.score);
flag=1;
p=p->next;
continue;
}
else p=p->next;
}
if(!flag) printf("No find");
}
Node * del(long n)
{
Node *p=head,*last;
while(p->student.num!=n){
last=p;
p=p->next;
}
if(p==NULL) return p;
else if(p==head) head=p->next;
else last->next=p->next;
return head;
}
void sort(int flag)
{
/*flag==1 按分數排序 else 按學號排序*/
Node *p1,*p2,*k;
float t1;
long t2;
char s[20];
for(p1=head;p1->next;p1=p1->next)
{
k=p1;
for(p2=p1->next;p2;p2=p2->next)
if(flag==1&&k->student.score<p2->student.score||!flag&&k->student.num>p2->student.num)
k=p2;
if(k!=p1){
t1=p1->student.score;
p1->student.score=k->student.score;
k->student.score=t1;
t2=p1->student.num;
p1->student.num=k->student.num;
k->student.num=t2;
strcpy(s,p1->student.name);
strcpy(p1->student.name,k->student.name);
strcpy(k->student.name,s);
}
}
}

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919