當前位置:首頁 » 編程語言 » 大一c語言課程小學生
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

大一c語言課程小學生

發布時間: 2022-07-24 03:38:08

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

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

B. 大一c語言的主要內容

c程序設計DOS窗口下,可視化程序設計,實例練習(一些小型管理系統和小游戲)

C. 大一c語言 小學生算數出題系統 的設計與實現


一、設計的流程:

1. 主界面設計,選擇練習或測試,按ESC結束程序。
2. 題型選擇界面設計,選擇加、減、乘、除或混合運算,按ESC返回主界面。
3. 系統隨機出題,運算數及結果均在100以內,乘、除法應能整除,顯示算式。
4. 練習時,系統隨機出題,鍵入結果,正確和錯誤均有提示,出錯時允許再輸入,最多三次機會,若還不正確,給出答案。繼續出題,按ESC,顯示總題數,正確數和正確率。
5. 測試時,系統自動出10道題,每題只給一次機會,每題10分,統計得分。結束後,給出總分,顯示各題的對錯信息,錯誤的給出答案。中間按ESC鍵結束。顯示已作題的對錯信息,錯誤的給出答案,不顯示得分,按任意鍵返回題型選擇界面。
相關知識:按鍵操作、數組、指針、結構體等

二、常式:

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
voidmain()
{
inta[10],b[10],d[10],c[10],num=0,result,add=0;
floatval;
charfa[5]={'+','-','*','/'};

/*出10道題*/
while(1)
{
srand((unsigned)time(NULL));
d[num]=abs(rand())%4;/*保證出題演算法的隨機性*/
while(1)/*保證出題成功*/
{
c[num]=-1;
a[num]=abs(rand())%100;
b[num]=abs(rand())%100;
if(d[num]==0)c[num]=a[num]+b[num];
elseif(d[num]==1)c[num]=a[num]-b[num];
elseif(d[num]==2)c[num]=a[num]*b[num];
elseif(d[num]==3)
{
if(b[num]>0)val=1.0*a[num]/b[num];
elseval=-1;
}
if(d[num]<=2)
{
if(c[num]>=0&&c[num]<=100)break;
}
else
{
if(a[num]==int(val)*b[num]&&val>=0)
{c[num]=val;break;}
}
}
num++;
if(num==10)break;
}
/*回答*/
num=0;
while(1)
{
printf("%d%c%d=",a[num],fa[d[num]],b[num]);
scanf("%d",&result);
if(result==c[num])
{
printf("回答正確! ");
add+=10;
}
else
printf("錯誤,正確答案:%d ",c[num]);
num++;
if(num==10)break;
}
printf(" 得分:%d ",add);
getch();
}

D. C語言課程設計 小學生四則運算練習系統 源程序

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define maxsize 50
void trans(char str[],char exp[])/*將算術表達式str轉換成後綴表達式exp*/
{
struct
{ char data[maxsize]; /*存放運算符*/
int top; /*棧指針*/
}opr; /*定義運算符棧*/
char ch;
int i=0,t=0; /*t作為exp的下標,i作為str的下標*/
opr.top=-1; /*初始化設定top的值為負一*/
ch=str[i];i++; /*逐個讀取字元串中的字元*/
while (ch!='\0') /*str表達式未掃描完時循環*/
{ switch(ch) /*判定*/
{
case '(':
opr.top++;opr.data[opr.top]=ch; /*判定為'('號,則將其入棧opr*/
break;
case ')':
while (opr.data[opr.top]!='(') /*判定為')'號*/
{ exp[t]=opr.data[opr.top]; /*將棧opr中'('以後的字元依次刪除並存入數組exp中*/
opr.top--;
t++;
}
opr.top--; /*將左括弧刪除*/
break;
case '+': /*判定為加號或減號*/
case '-':
while (opr.top!=-1 &&opr.data[opr.top]!='(')
{ exp[t]=opr.data[opr.top]; /*將當前棧opr中(以前的所有字元依次刪除並存入數組exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*將ch存入棧opr中*/
break;
case '*':
case '/':
while (opr.data[opr.top]=='*'||opr.data[opr.top]=='/'||opr.data[opr.top]=='^')
{ exp[t]=opr.data[opr.top]; /*將當前棧opr中連續的'*'或'/'或'^'依次刪除並存入數組exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*將ch存入棧opr中*/
break;
case '^': /*判定為乘方號*/
while (opr.data[opr.top]=='^')
{ exp[t]=opr.data[opr.top]; /*將當前棧opr中連續的'^'依次刪除並存入數組exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*將ch存入棧opr中*/
break;
case ' ': break; /*過濾掉空格*/
default:
while(ch>='0'&& ch<='9'||ch=='.') /*判定為數字*/
{ exp[t]=ch;t++; /*將後續數字依次存入數組中*/
ch=str[i];i++;
}
i--;
exp[t]='#';t++; /*用#標示一個數值串結束*/
}
ch=str[i];i++;
}
while (opr.top!=-1) /*此時str掃描完畢,棧不空時循環*/
{ exp[t]=opr.data[opr.top];
t++;opr.top--;
}
exp[t]='\0'; /*給exp表達式添加結束標示*/
}
float compvalue(char exp[]) /*計算後綴表達式的值*/
{
struct
{ float data[maxsize]; /*存放數值*/
int top; /*棧指針*/
} st; /*定義數值棧*/
float d,d2;double po;
char ch;
int t=0,flag=1,i,count; /*t作為exp的下標*/
st.top=-1;
ch=exp[t];t++;
while (ch!='\0') /*exp字元串為掃描完時循環*/
{ switch(ch)
{
case '+':st.data[st.top-1]=st.data[st.top-1]+st.data[st.top]; /*執行兩次退棧,並將計算結果入棧*/
st.top--;break;
case '-':st.data[st.top-1]=st.data[st.top-1]-st.data[st.top];
st.top--;break;
case '*':st.data[st.top-1]=st.data[st.top-1]*st.data[st.top];
st.top--;break;
case '/':
if(st.data[st.top]!=0)
st.data[st.top-1]=st.data[st.top-1]/st.data[st.top];
else
{ printf("\n除零錯誤!\n");
exit(0); /*除數為零,異常退出*/
}
st.top--;break;
case '^':
po=pow(st.data[st.top-1],st.data[st.top]); st.data[st.top-1]=(float)po;/*調用pow子函數進行乘方運算*/
st.top--;break;
default:
d=0; flag=1; d2=0; /*將數字字元轉換成對應的數值存放到d中*/
while(ch>='0'&&ch<='9'&&flag) /*判定為數字字元*/
{ d=10*d+ch-'0';
ch=exp[t];t++;
if(ch=='.')
flag=0;

}
if(flag==0)
{ ch=exp[t];t++;count=0;
while(ch>='0'&&ch<='9') /*判定為數字字元*/
{d2=10*d2+ch-'0';
ch=exp[t];t++;count++;
}
for(i=1;i<=count;i++)
d2=0.1*d2;
}
d+=d2;
st.top++;
st.data[st.top]=d;
}
ch=exp[t];t++;
}
return st.data[st.top];
}
int main()
{
char str[maxsize],exp[maxsize]; /*str存儲原算術表達式,exp存儲對應的後綴表達式*/
printf("the arithmetic expression is:\n");
gets(str);
trans(str,exp);
printf("the postfix expression is:%s\n",exp);
printf("the result is %g\n",compvalue(exp));
}

E. 我是大一的學生 老師讓我們做一個c語言課程設計 現在給出三道 希望大家 幫幫忙 編寫一個工資管理的程序。

#include <time.h>
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include<string.h>
#define MAX 80
void input();
void sort();
void display();
void insert();
void del();
void average();
void find();
void save();
void read();
void del_file();
void average();
void modify();
int now_no=0;
struct student
{
int no;
char name[20];
char sex[4];
float score1;
float score2;
float score3;
float sort;
float ave;
float sum;
};
struct student stu[MAX],*p;
main()/*主函數*/
{
int as;
start: printf("\n\t\t\t歡迎使用學生成績管理系統\n");
/*一下為功能選擇模塊*/
do
{
printf("\n\t\t\t\t1.錄入學員信息\n\t\t\t\t2.顯示學員信息\n\t\t\t\t3.成績排序信息\n\t\t\t\t4.添加學員信息\n\t\t\t\t5.刪除學員信息\n\t\t\t\t6.修改學員信息\n\t\t\t\t7.查詢學員信息\n\t\t\t\t8.從文件讀入學員信息\n\t\t\t\t9.刪除文件中學員信息\n\t\t\t\t10.保存學員信息\n\t\t\t\t11.退出\n");
printf("\t\t\t\t選擇功能選項:");
fflush(stdin);
scanf("%d",&as);
switch(as)
{
case 1:system("cls");input();break;
case 2:system("cls");display();break;
case 3:system("cls");sort();break;
case 4:system("cls");insert();break;
case 5:system("cls");del();break;
case 6:system("cls");modify();break;
case 7:system("cls");find();break;
case 8:system("cls");read();break;
case 9:system("cls");del_file();break;
case 10:system("cls");save();break;
case 11:system("exit");exit(0);
default:system("cls");goto start;
}
}while(1);
/*至此功能選擇結束*/
}
void input()/*原始數據錄入模塊*/
{
int i=0;
char ch;
do
{
printf("\t\t\t\t1.錄入學員信息\n輸入第%d個學員的信息\n",i+1);
printf("\n輸入學生編號:");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n輸入學員姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n輸入學員性別:");
fflush(stdin);
gets(stu[i].sex);
printf("\n輸入學員成績1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n輸入學員成績2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n輸入學員成績3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
i++;
now_no=i;
printf("是否繼續輸入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
system("cls");
}
void sort()/*排序數據函數*/
{
struct student temp;
int i,j;
average();
for(i=1;i<now_no;i++)
{
for(j=1;j<=now_no-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void display()/*顯示數據函數*/
{
int i;
char as;
average();
do
{
printf("\t\t\t班級學員信息列表\n");
printf("\t編號\t姓名\t性別\t成績1\t成績2\t成績3\t平均值\n");
for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
printf("\t\t按任意鍵返回主菜單.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void insert()/*插入數據函數*/
{
char ch;
do
{
printf("\n\t\t輸入新插入學員隊信息\n");
printf("\n輸入學生編號:");
scanf("%d",&stu[now_no].no);
fflush(stdin);
printf("\n輸入學員姓名:");
fflush(stdin);
gets(stu[now_no].name);
printf("\n輸入學員性別:");
fflush(stdin);
gets(stu[now_no].sex);
printf("\n輸入學員成績1:");
fflush(stdin);
scanf("%f",&stu[now_no].score1);
printf("\n輸入學員成績2:");
fflush(stdin);
scanf("%f",&stu[now_no].score2);
printf("\n輸入學員成績3:");
fflush(stdin);
scanf("%f",&stu[now_no].score3);
printf("\n\n");
now_no=now_no+1;
sort();
printf("是否繼續輸入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
}
void del()/*刪除數據函數*/
{
int inum,i,j;
printf("輸入要刪除學員的編號:");
fflush(stdin);
scanf("%d",&inum);
for(i=0;i<now_no;i++)
{
if(stu[i].no==inum)
{
if(i==now_no)now_no-=1;
else
{
stu[i]=stu[now_no-1];
now_no-=1;
}
sort();
break;
}
}
system("cls");
}
void save()/*保存數據函數*/
{
FILE *fp;
int i;
char filepath[20];
printf("輸入要保存的文件路徑:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"w"))==NULL)
{
printf("\n保存失敗!");
exit(0);
}
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
fprintf(fp,"\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
fclose(fp);
printf("學生信息已保存在%s中!\n",filepath);
system("pause");
system("cls");
}
void find()/*查詢函數*/
{
int i;
char str[20],as;
do
{
printf("輸入要查詢的學生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
printf("\t編號\t姓名\t性別\t成績1\t成績2\t成績3\t平均值\n");
printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
printf("\t\t按任意鍵返回主菜單.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void average()/*求平均數*/
{
int i;
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
}
}
void modify()/*修改數據函數*/
{
int i;
char str[20],as;
printf("輸入要修改的學生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
system("cls");
printf("\n\t\t輸入新插入學員隊信息\n");
printf("\n輸入學生編號:");
fflush(stdin);
scanf("%d",&stu[i].no);
printf("\n輸入學員性別:");
fflush(stdin);
gets(stu[i].sex);
printf("\n輸入學員成績1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n輸入學員成績2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n輸入學員成績3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
sort();
break;
}
system("cls");
}

void read()
{
FILE *fp;
int i;
char filepath[20];
printf("輸入要讀入的文件路徑:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"r"))==NULL)
{
printf("找不到%s文件!\n",filepath);
system("pause");
exit(0);
}
now_no=0;
for(i=0;i<MAX&&!feof(fp);i++)
{
fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&stu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave);
now_no++;
}
fclose(fp);
printf("保存的在文件%s中的所有信息已經讀入!\n",filepath);
system("pause");
system("cls");
}

void del_file()
{
FILE *fp;
char filepath[20];
printf("輸入要刪除的文件路徑:");
fflush(stdin);
gets(filepath);
fp=fopen(filepath,"w");
fclose(fp);
printf("保存的在文件%s中的所有信息已經刪除!\n",filepath);
system("pause");
system("cls");
}