c语言300行代码大作业(c语言写代码的软件)

admin 307 0

各位老铁们,大家好,今天由我来为大家分享c语言300行代码大作业,以及c语言写代码的软件的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

一、求一个300行左右的简单的c语言程序

#include<stdio.h>#define N 50#include<string.h>#define USER"admin"#define PASSWORD"12345678"#include<stdio.h>#define MAX 10

int NUM; int x;//全局变量 struct student{ int number; char name[20]; float score[3]; float ave; float sum;

}stu[N]; void suan(int); void insert(int);void display(struct student*p,int n); void paixu(struct student stu[],int n); void add( int n); void del(struct student*p,int n); void tui(int); void password(); void pingjunfenpaixu(struct student stu[],int n);void zongfenpaixu(struct student stu[],int n);

printf("\n\n欢迎使用学生成绩管理系统\n");password();suan(x);

} void suan(int i){ char x; printf("\n\n 1、输入学员信息\n"); printf("\n\n 2、增加学员信息\n"); printf("\n\n 3、删除学员信息\n"); printf("\n\n 4、显示学员信息\n"); printf("\n\n 5、排序学员信息\n"); printf("\n\n 6、退出\n"); printf("\n请输入选项:"); scanf("%d",&x); switch(x){ case 1:{ insert(i);//调用函数

break;} case 3:{ del(stu,NUM); break;} case 4:{ display(stu,NUM); break;} case 5:{ paixu(stu,NUM);

break;} case 6:{ tui(NUM);break;}default: printf("\n输入有误\n\n");}

} void insert(int i){ int j; float sum; char ch; do{ sum=0; printf("\n请输入学员信息:\n"); printf("\n学号:"); scanf("%d",&stu[i].number); printf("\n姓名:"); scanf("%s",&stu[i].name); printf("\n三门成绩:\n");

for(j=0;j<3;j++){ printf("\n成绩%d:",j+1); scanf("%f",&stu[i].score[j]); sum+=stu[i].score[j]; stu[i].sum= stu[i].score[0]+stu[i].score[1]+stu[i].score[2];} stu[i].ave=sum/3; i++; printf("\n是否继续输入学员信息?(y/n)"); fflush(stdin); ch=getchar();}while(ch=='y'|| ch=='Y'); NUM=i; suan(x);} void display(struct student*p,int n){ int i; printf("\n学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分:总分:\n"); for(i=0;i<n;i++,p++){ printf("%d\t%s\t%5.1f\t%5.1f\t%5.1f\t%5.1f\t%5.1f\n",p->number,p->name,p->score[0],p->score[1],p->score[2],p->ave,p->sum);}

suan(x);} void paixu(struct student stu[],int n){char x;printf("\n\n 1、平均成绩排序\n"); printf("\n\n 2、总分成绩排序\n"); printf("\n请输入选项:"); scanf("%d",&x);switch(x){case 1:{pingjunfenpaixu(stu,NUM);break;}case 2:{zongfenpaixu(stu,NUM);break;}default:{printf("请重新输入");<br>}}}

void pingjunfenpaixu(struct student stu[],int n){float temp; int i,j; for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++){ if(stu[j].ave<stu[j+1].ave){ temp=stu[j+1].ave; stu[j+1].ave=stu[j].ave; stu[j].ave=temp; display(stu,NUM);<br>}}}}void zongfenpaixu(struct student stu[],int n){float temp; int i,j; for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++){ if(stu[j].ave<stu[j+1].sum){ temp=stu[j+1].sum; stu[j+1].sum=stu[j].sum; stu[j].sum=temp;<br>display(stu,NUM);}}}}

void add(int n){ char ch; printf("\n是否需要插入新学员信息?(y/n)"); fflush(stdin); ch=getchar(); if(ch=='y'|| ch=='Y'){ insert(n);} suan(x);}

void del(struct student stu[],int n){ int num,i=0,j=0; char ch; printf("\n是否需要删除学员信息?(y/n)"); fflush(stdin); ch=getchar(); while(ch=='y'||ch=='Y'){ printf("\n请输入删除学员的学号:"); scanf("%d",&num); for(i=0;i<n;i++){ if(num==stu[i].number) break;} if(i<n){ for(j=i;j<n;j++){ stu[j]=stu[j+1];} n--; printf("\n删除后的学员信息如下:\n"); display(stu,n);} else printf("\n对不起,没有这个学号!\n"); if(n==0) break; printf("\n是否要继续删除学员信息?(y/n)"); fflush(stdin); ch=getchar();} suan(x);

void tui(int i){ char ch; printf("\n退出?(y/n):"); fflush(stdin); ch=getchar(); if(ch=='y'|| ch=='Y'){ printf("\t----------------------------------------------------------------------\n");printf("\t***************************@@*********@@******************************\n");printf("\t************************@@****@@***@@****@@***************************\n");printf("\t*********************@@**********@**********@@************************\n");printf("\t********************@*************************@***********************\n");printf("\t*@@@@*\n");printf("\t*@@谢谢使用本程序@@*\n");printf("\t***************************@@**********@@*****************************\n");printf("\t******************************@@****@@********************************\n");printf("\t*********************************@@***********************************\n");printf("\t----------------------------------------------------------------------\n");} else{ suan(x);

char name[21];char pw[11];int i;for(i=0;i<3;i++){printf("\nEnter User name:");gets(name);printf("\nEnter password:");gets(pw);if((strcmp(name,USER)==0)&&(strcmp(pw,PASSWORD)==0))break;}if(i>2){printf("您已连续3次将用户名或密码输错,系统将退出!");<br>}

二、求c语言课程设计报告,300行左右题目不限急!

1、//***************************************************************************

2、#include<malloc.h>// malloc()等

3、#include<limits.h>// INT_MAX等

4、#include<stdio.h>// EOF(=^Z或F6),NULL

5、#include<stdlib.h>// atoi()

6、#include<math.h>// floor(),ceil(),abs()

7、#include<process.h>// exit()

8、#include<iostream.h>// cout,cin

9、//#define OVERFLOW-2因为在math.h中已定义OVERFLOW的值为3,故去掉此行

10、 typedef int Status;// Status是函数的类型,其值是函数结果状态代码,如OK等

11、 typedef int Boolean;// Boolean是布尔类型,其值是TRUE或FALSE

12、//***************************************************************************

13、//***************************************************************************

14、//以下是运算符栈的基本操作函数

15、 S.base=(char*)malloc(STACK_INIT_SIZE*sizeof(char));

16、Status DestroyStack(SqStack1&S){

17、//若栈不空,则返回S的栈顶元素,并返回OK;否则返回ERROR

18、 if(S.top==S.base)return ERROR;

19、Status Push(SqStack1&S,char e){

20、 if(S.top-S.base>=S.stacksize){

21、 S.base=(char*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(char));

22、Status Pop(SqStack1&S,char&e){

23、//若栈不空,则删除S的栈顶元素,用e返回其值;并返回OK;否则返回ERROR

24、 if(S.top==S.base)return ERROR;

25、//***************************************************************************

26、//以下是运算数栈的基本操作函数

27、 S.base=(float*)malloc(STACK_INIT_SIZE*sizeof(float));

28、Status DestroyStack(SqStack2&S){

29、//若栈不空,则返回S的栈顶元素,并返回OK;否则返回ERROR

30、 if(S.top==S.base)return ERROR;

31、Status Push(SqStack2&S,float e){

32、 if(S.top-S.base>=S.stacksize){

33、 S.base=(float*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(float));

34、Status Pop(SqStack2&S,float&e){

35、//若栈不空,则删除S的栈顶元素,用e返回其值;并返回OK;否则返回ERROR

36、 if(S.top==S.base)return ERROR;

37、//***************************************************************************

38、//比较运算符A, B的优先关系,A,B的范围仅限于'+','-','*','/','^','(',')','='

39、//返回'>','<','='

40、 case'+':return'>';

41、 case'-':return'>';

42、 case'*':return'<';

43、 case'/':return'<';

44、 case'^':return'<';

45、 case'(':return'<';

46、 case')':return'>';

47、 case'=':return'>';

48、 default:printf("表达式错误!\n");exit(0);

49、 case'+':return'>';

50、 case'-':return'>';

51、 case'*':return'<';

52、 case'/':return'<';

53、 case'^':return'<';

54、 case'(':return'<';

55、 case')':return'>';

56、 case'=':return'>';

57、 default:printf("表达式错误!\n");exit(0);

58、 case'+':return'>';

59、 case'-':return'>';

60、 case'*':return'>';

61、 case'/':return'>';

62、 case'^':return'<';

63、 case'(':return'<';

64、 case')':return'>';

65、 case'=':return'>';

66、 default:printf("表达式错误!\n");exit(0);

67、 case'+':return'>';

68、 case'-':return'>';

69、 case'*':return'>';

70、 case'/':return'>';

71、 case'^':return'<';

72、 case'(':return'<';

73、 case')':return'>';

74、 case'=':return'>';

75、 default:printf("表达式错误!\n");exit(0);

76、 case'+':return'>';

77、 case'-':return'>';

78、 case'*':return'>';

79、 case'/':return'>';

80、 case'^':return'>';

81、 case'(':return'<';

82、 case')':return'>';

83、 case'=':return'>';

84、 default:printf("表达式错误!\n");exit(0);

85、 case'+':return'<';

86、 case'-':return'<';

87、 case'*':return'<';

88、 case'/':return'<';

89、 case'^':return'<';

90、 case'(':return'<';

91、 case')':return'=';

92、 case'=':printf("表达式错误!\n");exit(0);

93、 default:printf("表达式错误!\n");exit(0);

94、 case'+':return'>';

95、 case'-':return'>';

96、 case'*':return'>';

97、 case'/':return'>';

98、 case'^':return'>';

99、 case'(':printf("表达式错误!\n");exit(0);

100、 case')':return'>';

101、 case'=':return'>';

102、 default:printf("表达式错误!\n");exit(0);

103、 case'+':return'<';

104、 case'-':return'<';

105、 case'*':return'<';

106、 case'/':return'<';

107、 case'^':return'<';

108、 case'(':return'<';

109、 case')':printf("表达式错误!\n");exit(0);

110、 case'=':return'=';

111、 default:printf("表达式错误!\n");exit(0);

112、 default:printf("表达式错误!\n");exit(0);

113、//判断c是否是运算符,是则返回TRUE,否则返回FALSE

114、//***************************************************************************

115、float Operate(float a,char theta,float b){

116、 printf("分母不能为0!\n");

117、 printf("0的指数必须大于0!\n");

118、 default:printf("表达式错误!\n");exit(0);

119、//c是每次读取的字符,x是存放脱括号后的多余的括号,theta是运算符,prec是c的前一个字符

120、 float a,b,result;//a、b是每次从运算数栈中取出的要进行运算的数,result存放最终结果

121、//cc存放由字符串转化而来的浮点数,flag用于标记是否已读取过小数点,

122、//ii存放小数部分需要缩小的倍数,minus用于记录该数前是否有负号

123、 InitStack(OPTR);InitStack(OPND);

124、 prec='=';scanf("%c",&c);

125、 while(c!='='||GetTop(OPTR)!='='){

126、 if(c=='-'&&(prec=='='||prec=='(')){minus=-1;prec=c;scanf("%c",&c);}

127、//若某“-”前面是“=”(第一个符号就是“-”)或“(”,则此为负号,不是减号

128、 if(flag==0)cc=cc*10+c-48;//小数点之前

129、 else if(flag==1){cc=cc+(c-48)/ii;ii*=10;}//小数点之后

130、 else{printf("小数点错误!\n");exit(0);}//小数点有错

131、 else if(c=='.')flag++;//读到小数点

132、 else{printf("表达式错误!\n");exit(0);}

133、 switch(Precede(GetTop(OPTR),c)){

134、 case'<':Push(OPTR,c);prec=c;scanf("%c",&c);break;//栈顶元素优先级低

135、 case'=':Pop(OPTR,x);prec=c;scanf("%c",&c);break;//脱括号并接收下一字符

136、 case'>'://退栈并将运算结果入栈

137、 Push(OPND,Operate(a,theta,b));

138、 printf("**********************\n");

139、 printf("*欢迎使用计算器!*\n");

140、 printf("**********************\n");

141、 printf("请输入表达式,以“=”结束:\n");

142、 printf("(支持实数间的加(+)、减(-)、乘(*)、除(/)、乘方(^)、单目减(-)运算)\n");

三、有没有300行左右的C语言课程设计的源代码

intuser_count=0;//用户信息的总数

charini_path[100]={"\0"};//数据文件的绝对路径

charuser_path[100]={"\0"};//用户数据文件的绝对路径

intbook_pos=0;//book数组的计数

voidread_file()//从文件读取数据

memset(user[i].name,'\0',10);

memset(user[i].book_name,'\0',50);

memset(book[i].no,'\0',10);

memset(book[i].name,'\0',50);

memset(book[i].author,'\0',30);

memset(book[i].money,'\0',10);

memset(book[i].in_or_out,'\0',10);

memset(book[i].user_name,'\0',10);

user_count=GetPrivateProfileInt("USER","user_count",0,user_path);

book_count=GetPrivateProfileInt("book","book_count",0,book_path);

GetPrivateProfileString(t,"name","",user[i].name,10,user_path);

GetPrivateProfileString(t,"book_name","",user[i].book_name,50,user_path);

GetPrivateProfileString(t,"no","",book[i].no,10,book_path);

GetPrivateProfileString(t,"name","",book[i].name,50,book_path);

GetPrivateProfileString(t,"author","",book[i].author,30,book_path);

GetPrivateProfileString(t,"money","",book[i].money,10,book_path);

GetPrivateProfileString(t,"in_or_out","",book[i].in_or_out,10,book_path);

GetPrivateProfileString(t,"user_name","",book[i].user_name,10,book_path);

WritePrivateProfileString(t,"name",NULL,user_path);

WritePrivateProfileString(t,"book_name",NULL,user_path);

WritePrivateProfileString(t,"no",NULL,book_path);

WritePrivateProfileString(t,"name",NULL,book_path);

WritePrivateProfileString(t,"author",NULL,book_path);

WritePrivateProfileString(t,"money",NULL,book_path);

WritePrivateProfileString(t,"in_or_out",NULL,book_path);

WritePrivateProfileString(t,"user_name",NULL,book_path);

if(strcmp(user[i].name,"")==0)

WritePrivateProfileString(t,"name",user[i].name,user_path);

WritePrivateProfileString(t,"book_name",user[i].book_name,user_path);

sprintf(temp,"%d",temp_count);

WritePrivateProfileString("USER","user_count",temp,user_path);

WritePrivateProfileString(t,"no",book[i].no,book_path);

WritePrivateProfileString(t,"name",book[i].name,book_path);

WritePrivateProfileString(t,"author",book[i].author,book_path);

WritePrivateProfileString(t,"money",book[i].money,book_path);

WritePrivateProfileString(t,"in_or_out",book[i].in_or_out,book_path);

WritePrivateProfileString(t,"user_name",book[i].user_name,book_path);

sprintf(temp,"%d",temp_count);

WritePrivateProfileString("BOOK","book_count",temp,book_path);

voidsearch_user_name()//按借书人姓名查询

printf("请输入要查询图书借书人:");

ints[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};

if(strcmp(book[i].user_name,search_key)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

printf("\n借书人:%s\n",book[i].user_name);

printf("\n\n未找到符合条件的信息!");

printf("\n\n第%d本书:%s",i+1,book[i].name);

voidsearch_book_author()//按图书作者查询

printf("请输入要查询图书的作者:");

if(strcmp(book[i].author,search_key)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

printf("\n借书人:%s\n",book[i].user_name);

printf("\n\n未找到符合条件的信息!");

voidsearch_book_name()//按图书名称查询

printf("请输入要查询图书的名称:");

if(strcmp(book[i].name,search_key)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

printf("\n借书人:%s\n",book[i].user_name);

printf("\n\n未找到符合条件的信息!");

voidsearch_book_no()//按图书编号查询

printf("请输入要查询图书的编号:");

if(strcmp(book[i].no,search_key)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

printf("\n借书人:%s\n",book[i].user_name);

printf("\n\n未找到符合条件的信息!");

voidsearch_all_book()//查询所有图书

printf("真TM穷,一本书都没有");

printf("共有%d本书\n",book_pos);

printf("\n编号:%s名称:%s作者:%s金额:%s状态:%s",book[i].no,book[i].name,book[i].author,book[i].money,book[i].in_or_out);

if(strcmp(book[i].in_or_out,"out")==0)

printf("借书人:%s",book[i].user_name);

voidsearch_all_user()//查询所有用户

printf("要倒闭了?一个人都没有!");

printf("共有%d个用户\n",user_pos);

printf("\n用户名称:%s借书名称:",user[i].name);

if(strcmp(user[i].book_name,"")!=0)

printf("%s",user[i].book_name);

printf("*********************************\n");

printf("*图书管理系统--查询*\n");

printf("*1.按图书编号查询*\n");

printf("*2.按图书名称查询*\n");

printf("*4.按借书人姓名查询*\n");

printf("*5.查询所有图书*\n");

printf("*6.查询所有用户*\n");

printf("*********************************\n");

printf("请选择:(1,2,3,4,5,6,0)");

printf("请输入要删除的用户名称:");

if(strcmp(user[i].name,del_key)==0)

printf("\n姓名:%s",user[i].name);

if(strlen(user[i].book_name)>0)

printf("\n所借书籍:%s",user[i].book_name);

printf("\n\n未找到符合条件的信息!");

printf("\n\n确认要删除该记录吗?(y/n):");

if(t=='y'||t=='Y')

if(strlen(user[del_pos].book_name)>0)

printf("\n\n该用户尚有书籍未归还,不能删除!");

strcpy(user[del_pos].name,"");

strcpy(user[del_pos].book_name,"");

elseif(t=='N'||t=='n')

printf("\n\n你选择了不删除,按任意键返回!");

printf("请输入要删除的图书的名称或编号:");

if(strcmp(book[i].name,del_key)==0||strcmp(book[i].no,del_key)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s\n",book[i].in_or_out);

printf("\n\n未找到符合条件的信息!");

printf("\n\n确认要删除该记录吗?(y/n):");

if(t=='y'||t=='Y')

if(strcmp("out",book[del_pos].in_or_out)==0)

printf("\n\n图书已经借出,不能删除!");

strcpy(book[del_pos].name,"");

strcpy(book[del_pos].money,"");

strcpy(book[del_pos].author,"");

strcpy(book[del_pos].in_or_out,"in");

strcpy(book[del_pos].user_name,"");

elseif(t=='N'||t=='n')

printf("\n\n你选择了不删除,按任意键返回!");

printf("请输入新增用户信息:\n\n");

strcpy(user[user_pos].name,name);

printf("请输入新增图书信息:\n\n");

strcpy(book[book_pos].no,no);

strcpy(book[book_pos].name,name);

strcpy(book[book_pos].author,author);

strcpy(book[book_pos].money,money);

printf("\n\n请输入还回图书的编号或名称:");

if(strcmp(temp,book[i].no)==0||strcmp(temp,book[i].name)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

printf("\n\n按任意键进行还回操作");

strcpy(book[i].in_or_out,"in");

if(strcmp(book[i].user_name,user[j].name)==0)

strcpy(user[j].book_name,"");

strcpy(book[i].user_name,"");

printf("\n\n未找到符合条件的信息!");

printf("\n\n请输入出借图书的编号或名称:");

if(strcmp(temp,book[i].no)==0||strcmp(temp,book[i].name)==0)

printf("\n编号:%s",book[i].no);

printf("\n名称:%s",book[i].name);

printf("\n作者:%s",book[i].author);

printf("\n金额:%s",book[i].money);

printf("\n状态:%s",book[i].in_or_out);

if(strcmp(book[i].in_or_out,"out")==0)

printf("\n\n该图书已经借出!\n");

printf("\n\n请输入借书人姓名:");

if(strcmp(name,user[j].name)==0)

printf("\n找不到该借书人信息,已自动添加");

strcpy(user[user_pos].name,name);

strcpy(user[user_pos].book_name,"");

strcpy(user[user_i].book_name,book[book_i].name);

strcpy(book[book_i].user_name,name);

strcpy(book[book_i].in_or_out,"out");

printf("\n\n找不到该图书信息\n");

printf("\n\n真的要退出吗?(y/n):");

if(t=='y'||t=='Y')

elseif(t=='N'||t=='n')

printf("ooooooooooooooooooooooooooooo\n");

printf("ooooooooooooooooooooooooooooo\n");

printf("oooooooooooooooooo\n");

printf("oooooooooooooooooo\n");

printf("oooooooooooooooooo\n");

printf("oooooooooooooooooooo\n");

printf("ooooooooooooooooooooo\n");

printf("oooooooooooooooooooo\n");

printf("*******************************\n");

printf("*******************************\n");

printf("请选择:(1,2,3,4,5,6,7,0)");

_getcwd(ini_path,100);//取得当前程序的绝对路径

strcat(user_path,"\\user.ini");

strcat(book_path,"\\book.ini");

printf("\n用户数据文件不存在,按任意键将创建文件");

intre=fputs("[USER]\r\nuser_count=0",fp);

printf("\n用户数据文件创建成功!");

printf("\n用户数据文件创建失败!");

printf("\n图书数据文件不存在,按任意键将创建文件");

intre=fputs("[BOOK]\r\nbook_count=0",fp);

printf("\n图书数据文件创建成功!");

printf("\n图书数据文件创建失败!");

关于c语言300行代码大作业的内容到此结束,希望对大家有所帮助。