當前位置:首頁 » 編程語言 » c語言怎麼輸出一個簡單的成績單
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼輸出一個簡單的成績單

發布時間: 2022-04-28 23:54:25

Ⅰ 用c語言編程實現一個簡單的學生成績管理系統

//姓名,學號,英語,語文,數學三種成績
#include <stdio.h>
#include <stdlib.h>
#define maxnumber 30
int student_number;
int count1=0,count2=0,Operate1=3;
FILE *stream;
typedef struct stu{
int idnumber;
char name[20];
double English_score;
double chinese_score;
double math_score;
}Student;
//按學號排序


void putout_one(Student *sp)
{
for( int j=0;j<10;j++)
printf("******");
printf(" ");
printf("%d%s%.1f%.1f%.1f ",(*sp).idnumber,(*sp).name,(*sp).English_score,(*sp).chinese_score,(*sp).math_score);
for( j=0;j<10;j++)
printf("******");
printf(" ");
}

void putout_lot(Student *student)
{
for(int i=0;i<=Operate1;i++)
{
for(int j=0;j<10;j++)
printf("******");
printf(" ");

printf("%d%s%.1f%.1f%.1f ",student[i].idnumber,student[i].name,student[i].English_score,student[i].chinese_score,student[i].math_score);
}
for( int j=0;j<10;j++)
printf("******");
printf(" ");
}

void input_student(Student *S)//輸入插入學生的信息
{
//printf("請輸入第%d位學生(學號,名字,語文,英語,數學) ",i+1);
scanf("%d",&(*S).idnumber);
scanf("%s",&(*S).name);
scanf("%lf%lf%lf",&(*S).chinese_score,&(*S).English_score,&(*S).math_score);
}
void id_find_in(Student *S,Student *q)//把新的學生信息加入表單
{
Student *p=S,*t;
while(count1<Operate1+1)
{
t=p;
p++;
count1++;
}
*t=*q;
count1=0;
Operate1++;
}

void insert_element(Student *S)//插入學生信息
{
printf("請輸入1位學生(學號,名字,語文,英語,數學) ");
Student *temp=(Student *)malloc(sizeof(Student)),*q=S;
input_student(temp);
id_find_in(S,temp);
}

void delet_element(Student *S,int id_n)
{
Student *p=S,*t;
while(count1<Operate1)
{
if((*p).idnumber==id_n)
{
t=p;
printf("已刪除%d號學生信息 ",(*p).idnumber);
while(count2<Operate1-count1-1)
{
*(t-1)=*(++t);
count2++;
}
break;
}
count1++;
p++;
}
count1=0;
count2=0;
Operate1--;
}

int junge(char*a,char*b)
{
char *p=a,*q=b;
while(*p!='')
{
if(*p==*q)
{
p++;
q++;

continue;
}
else
break;
}
if(*p==''&&*q=='')
return 1;
else
return 0;
}

void show_stu_element(Student*S,char*sp)//顯示某人信息(功能已實現)
{
Student *p=S;
while(count1<Operate1)
{
if(junge((*p).name,sp))
{
printf("已找到此人:%s ",(*p).name);
putout_one(p);
p=S;
break;
}
else
{
p++;
count1++;
continue;
}
}
if(p!=S)
printf("查無此人! ");
count1=0;
}
void id_sort(Student *S)
{
Student *temp=(Student*)malloc(sizeof(Student)),*q=S,*t;
int num=Operate1;
while(count1<Operate1)
{
t=q+1;
while(count2<num)
{
if( (*q).idnumber> (*t).idnumber)
{
*temp=*q;
*q=*t;
*(t)=*temp;
//printf("%d ",(*t).idnumber);
}

count2++;
t++;

//t=t+sizeof(Student);//這樣無法實現why?

}
num--;
q++;
count2=0;
count1++;

//q=q+sizeof(Student);
}
count1=0;
count2=0;
}

void count_passnumber(Student *S)
{
Student *p=S;
int e_p_number=0,m_p_number=0,c_p_number=0,num=0;
while(num<=Operate1)
{
if(p->English_score>=60)
e_p_number++;
if(p->math_score>=60)
m_p_number++;
if(p->chinese_score>=60)
c_p_number++;
num++;
p++;
}
printf("/***學生總人數=:%d ",Operate1);
printf("/***英語過關人數=%d數學過關人數=%d語文過關人數=%d ",e_p_number,m_p_number,c_p_number);
printf("/***英語掛科人數=%d數學掛科人數=%d語文掛科人數=%d ",Operate1+1-e_p_number,Operate1+1-m_p_number,Operate1+1-c_p_number);//因為數組下標是從0開始的
}

void main()
{
Student student[maxnumber];
stream=freopen("in.txt","r",stdin);
int Operate=3;int i;int id_n;
char student_element[20];
for(i=0;i<Operate1;i++)
{
printf("請輸入第%d位學生(學號,名字,語文,英語,數學) ",i+1);
scanf("%d",&student[i].idnumber);
scanf("%s",&student[i].name);
scanf("%lf%lf%lf",&student[i].chinese_score,&student[i].English_score,&student[i].math_score);
}
//fclose(stream);
for( i=0;Operate!=0;i++)
{
printf("輸入:0.退出。1.輸入學生信息2.按姓名查找並刪除學生信息 3.按學號排序4.查找顯示一位學生信息 5.顯示統計記錄(成員數、每科平均分)6.輸出每科及格人數和不及格人數7(default).操作完成,等待用戶輸入: ");
scanf("%d",&Operate);
switch(Operate)
{
case 1:insert_element(student);break;
case 2:scanf("%d",&id_n); delet_element(student,id_n);break;
case 3:id_sort(student);break;
case 4:scanf("%s",student_element); show_stu_element(student,student_element);break;
case 5:putout_lot(student);break;
case 6:count_passnumber(student);break;
default:printf("請輸入: ");continue;
}
if(Operate==0)
break;
}
}

Ⅱ c語言如何編寫一個輸出學生成績等級的程序

一、首先打開VC++

Ⅲ 用c語言實現一個簡單的學生成績管理系統,包括:學號,姓名,科目,成績

//用字元界面實現,比如按數字1,可以錄入學生所有信息;
//按數字2,顯示所有學生成績;
//按數字3,進入查詢,按學號或姓名查詢該學生是否存在,如果存在顯示他的所有信息,///否則給出不存在提示。
#include<stdio.h>
structstudent
{
charnum[6];/*學號*/
charname[10];
charsubject[20];/*科目*/
floatgrade;
}stu[10];
voidmenu()
{
printf("==================================== ");
printf("|學生成績管理系統| ");
printf("|1輸入學生成績| ");
printf("|2輸出學生成績| ");
printf("|3查詢學生成績| ");
printf("|0退出管理系統| ");
printf("==================================== ");
}
voidinput()
{
for(inti=0;i<10;i++)
scanf("%s%s%s%f",stu[i].num,stu[i].name,stu[i].subject,&stu[i].grade);
}
voidshow()
{
printf("學號 姓名 科目 成績 ");
for(inti=0;i<10;i++)
printf("%s %s %s %f ",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade);
}
voidserach()
{
charobj[10];
printf("輸入要查詢的學號");
scanf("%s",obj);
for(inti=0;i<10;i++)
{
if(strcmp(obj,stu[i].num))
{
printf("學號 姓名 科目 成績 ");
printf("%s %s %s %f ",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade);
}
}
}
intmain()
{
intselection;
while(true)
{
clrscr();
menu();
printf("請選擇0--3:");
scanf("%d",&selection);
switch(selection)
{
case1:input();break;
case2:show();break;
case3:search();break;
case0:exit(0);break;
default:printf("錯誤的輸入,請重新輸入:");
}
}
return0;
}

Ⅳ C語言製作成績單

#include <stdio.h>struct stud
{
int num;
char name[20];
float score1, score2, score3, aver;
}; int main(void)
{
int high;
int i, j;
struct stud myClass[10], *pStu = myClass;
struct stud temp; printf("Please input students info:Num Name score1 score2 score3\n");
for (i = 0; i < 10; i++)
{
printf("%d:", i + 1);
scanf("%d %s %f %f %f", &myClass[i].num, &myClass[i].name, &myClass[i].score1,
&myClass[i].score2, &myClass[i].score3);
myClass[i].aver = (myClass[i].score1 + myClass[i].score2 + myClass[i].score3) / 3;
} high = 0;
for (i = 0; i < 10; i++)
{
if (myClass[i].aver > myClass[high].aver)
{
high = i;
}
} printf("\nThe Highest is %s(%d)\nscore1=%.2f score2=%.2f score3=%.2f aver=%.2f\n",
myClass[high].name, myClass[high].num,
myClass[high].score1, myClass[high].score2, myClass[high].score3, myClass[high].aver); for (i = 0; i < 9; i++)
{
for (j = i + 1; j < 10; j++)
{
if ((pStu + j)->aver > (pStu + i)->aver)
{
temp = *(pStu + j);
*(pStu + j) = *(pStu + i);
*(pStu + i) = temp;
}
}
} printf("\nResult of sort:\n");
printf("Num Name score1 score2 score3 average\n");
for (i=0; i<10; i++)
{
printf("%-5d %-20s %-8.2f %-8.2f %-8.2f %-.2f\n", (pStu+i)->num, (pStu+i)->name,
(pStu+i)->score1, (pStu+i)->score2, (pStu+i)->score3, (pStu+i)->aver);
}
return 0;
}

Ⅳ C語言如何在多位學生成績中任意輸出某一位成績

一、多個或多組同類數據可用數組或鏈表。
比如這里一個學生的信息如只有成績,那麼定義一個數組即可記錄多名學生成績。
但一個學生有多個信息(如:學號,成績,班級)這樣就需要定義結構體,一個結構變數表示一個學生,結構數組或結構鏈表表示多個學生。(當然你也可以定義多個數組分別表示每個屬性,然後用下標對應,但這樣不如結構方便)。
二、學生人數不確定的話(任意多個,且數值可能很大),數組需要用malloc申請動態數組或者用鏈表。
三、輸出任意一個學生,首先要寫查詢函數,遍歷數組或鏈表,找到你要的那個學生數組元素或鏈表節點,再輸出列印。

Ⅵ C語言:學生成績單製作

// rtr.cpp : 定義控制台應用程序的入口點。
//

#include "stdafx.h"

//1. 定義一個數組,用以存放學生的成績。
#include <stdio.h>
void main()
{
int mark[1000];
int i,j=0,n,k,b,c,a,temp,min,l=0;
printf("請輸入學生的人數:");
scanf("%d",&n);
/*printf("你想輸入學生的哪科成績:\n1:語文:數學\n");
scanf("%d",&a);*/
/*if (a==1)
{
printf("\n語文\n");
}
else*/
printf("\n數學成績\n");
//2. 從鍵盤輸入n個學生成績兩門成績,並輸出。
printf("請輸入這%d個人的分數:",n);
for (i=0;i<n;i++)
{
scanf("%d",&mark[i]);
printf("mark[%d]=%d\n",i,mark[i]);
}
//3. 採用冒泡法/選擇法,將學生平均成績按照從高到低進行排序並輸出。
printf("排序後的分數:");
for (i=0;i<n;i++)
{
for (j=n-1;j>i;j--)
{
if(mark[j-1]<mark[j])
{
temp=mark[j-1];
mark[j-1]=mark[j];
mark[j]=temp;
}

}
printf("%d ",mark[i]);
}

//4. 再輸入一個學生的兩門成績,將此成績按照排序規律插入原學生成績數組並輸出。
printf("\n請輸入要插入的分數:");
scanf("%d",&b);

for (k=0;k<n;k++)
{
if (b>mark[k])
break;
}
for (i=n-1;i>=k;i--)
{
mark[i+1]=mark[i];
}
mark[k]=b;
printf("\n排序後的數組是:");
for (i=0;i<n+1;i++)
{
printf("%d ",mark[i]);
}
printf("\n反序存放從低到高:\n");
//5. 將排好序的成績單進行反序存放,即原來是從高到低,現在改為從低到高排列,並輸出。
for (i=0;i<n+1;i++)
{
for (j=n;j>i;j--)
{
if(mark[j]<mark[j-1])
{
temp=mark[j];
mark[j]=mark[j-1];
mark[j-1]=temp;
}

}
printf("%d ",mark[i]);
}

//6. 刪除剛插入的學生的成績並保持依然有序,並輸出

printf("\n刪除插入的分數後,排序的數組是:");
//for (k=0;k<n+1;k++)
//{
// if(b==mark[k])
// break;
//}
for (k=0;k<n+1;k++)
{
if (b<mark[k])
break;
}
for (i=k;i<=n;i++)
{
mark[i-1]=mark[i];
}
for (i=0;i<n;i++)
{
printf("%d ",mark[i]);
}
printf("\n達到分的的人數為:");
//7. 統計兩門均達分的人數,統計單科達分的每門的人數

for(i=0;i<n;i++)
{
if(mark[i]>=60)
{
l++;
}

}printf("%d\n",l);
//8. 在項目報告中畫出程序流程圖,說明程序設計的演算法,附主要程序段。
//9. 在項目報告中說明程序設計過程中的難點、解決辦法及編程小結或體會。
}

Ⅶ 如何用C語言輸出考試成績的優秀,良好,及格,不及格

#include <stdio.h>void main(){int score;scanf("%d",&score);//輸入成績if(score>=90) printf("優秀");else if(score>=70&&score<90) printf("良好");else if(score>=60&&score<70) printf("及格");else if(score<60) printf("不及格!");}

Ⅷ 假設收集到了一個班學生的所有成績信息(不低於20人),要求用C語言編寫一個簡單的成績

#include"stdio.h"/*I/O函數*/#include"string.h"/*字元串函數*/#include"stdlib.h"#defineN100/*定義常數*/typedefstructstudent{intorder;charnum[11];charname[10];charsex[3];intscore[3];floatavr;}STU;voidfin();/*成績錄入模塊*/voidtjmenu();/*成績統計模塊*/voidsortmenu();/*排序模塊*/voidsearchmenu();/*查找模塊*/voidfout();/*輸出學生信息並保存到文件*/STUs[N];intn;main(){inti=1;char*menu[]={"***************MENU***************","1.學生信息錄入","2.成績統計","3.排序","4.查詢","5.學生信息輸出","0.退出","***************MENU***************"};while(i){system("CLS");for(i=0;i<8;i++){printf("");printf("%s\n",menu);}scanf("%d",&i);switch(i){case1:fin();fout();break;case2:tjmenu();break;case3:sortmenu();break;case4:searchmenu();break;case5:fout();break;case0:exit(0);}}}voidfin()/*成績錄入模塊*/{}voidtjmenu()/*成績統計模塊*/{}voidsortmenu()/*排序模塊*/{}voidsearchmenu()/*查找模塊*/{}voidfout()/*輸出學生信息並保存到文件*/{}

Ⅸ C語言怎麼輸出一個成績表

#include<stdio.h>

intmain()
{
floatscore[2][2]={0};

for(inti=0;i<2;i++)
{
for(intj=0;j<2;j++)
{
scanf("%f",&score[i][j]);
}
}

printf("---------------------- ");
printf("序號語文數學總成績 ");
printf("---------------------- ");
for(inti=0;i<2;i++)
{
printf("%-4d%-6.1f%-6.1f%6.1f ",i+1,score[i][0],score[i][1],score[i][0]+score[i][1]);
}

return0;
}

//測試輸出:
//80.0
//90.5
//90.5
//70.5
//----------------------
//序號語文數學總成績
//----------------------
//180.090.5170.5
//290.570.5161.0

Ⅹ C語言列印學生成績單

#include<stdio.h>
intmain()
{
char*project[]={"語文","數學","英語"};
char*name[]={"張三","李四","王五"};
intpoint[3][3]={{89,78,66},{77,77,77},{99,99,99}};
inti,j;
printf(" ");
for(i=0;i<3;i++)
printf("%s ",project[i]);
for(i=0;i<3;i++)
{
printf(" %s ",name[i]);
for(j=0;j<3;j++)
printf("%d ",point[i][j]);
}
printf(" ");
return0;
}