精华内容
下载资源
问答
  • 大一c语言课程设计作业
    2021-05-18 09:07:01

    我是大一的学生我们要求做课程设计 虽然我比较感兴趣但学的不怎么好希望大家帮帮我

    1学生成绩

    系统功能需求:

    (1)输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩;

    (2)显示全部学生各科成绩信息;

    (3)对各科成绩统计分析(总分、平均分、最高

    我是大一的学生我们要求做课程设计 虽然我比较感兴趣但学的不怎么好希望大家帮帮我

    1学生成绩

    系统功能需求:

    (1)输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩;

    (2)显示全部学生各科成绩信息;

    (3)对各科成绩统计分析(总分、平均分、最高分、最低分、及格率等);

    (4)统计各科各分数段人数;

    (5)按学号或姓名查找并显示某个学生的各科成绩;

    (6)按课程成绩或总分由高到低排序显示;

    (7)更新某个学生的基本信息或课程成绩;

    (8)将学生的成绩信息保存到一个文件中;

    (9)读入在文件中保存的学生信息。

    系统功能模块划分:

    主函数:调用其它功能模块。

    窗口操作:预定义一些常用的窗口及信息提示函数供其它模块调用。

    主菜单:显示菜单,选择功能项。

    数据输入:输入学生的基本信息(学号、姓名、性别等)和各课成绩。

    全部显示:显示全部学生各科成绩及平均分信息。

    条件查询:学号或姓名查找并显示某个学生的各项成绩及平均分。

    排序输出:按课程成绩或总分由高到低排序显示。

    成绩统计:对各科成绩统计分析(总分、平均分、最高分、最低分、及格率等)。

    分数段统计:统计各科各分数段人数。

    数据读取:把学生的成绩信息保存到一个文件中。

    数据存储:读入文件中保存的学生信息。

    2、 通讯录管理

    设计要求:该系统要求能够进行输入、显示、查找、删除、插入、保存、读入、按序号查找、拷贝、排序、快速查找、退出等功能。

    设计步骤:(1)创建一个记录联系人的信息结构体。

    (2)通过屏幕菜单方式选择具体操作方式。

    (3)完成相应的操作,并能够显示操作的结果。

    设计方法:应用所学结构体和数组等知识实现设计要求。

    进度安排:接受设计任务、资料查询 1天

    动手编制程序 2天

    调试程序并总结 1天

    写出课程设计报告并提交 1天

    33、 图书信息管理系统

    设计要求:该系统要求能够具有图书管理和会员管理的功能,并且能够具有增加图书、查询图书、删除图书、图书借阅——借书、还书的功能,还具有增加会员、查询会员、删除会员、查询借书信息等功能。

    设计步骤:(1)创建图书和会员两个结构体。

    (2)通过屏幕菜单方式选择具体操作方式。

    (3)完成相应的操作,并能够显示操作的结果。

    设计方法:应用所学结构体和链表的基本知识实现设计要求。

    这个设计应该是2周的 可是因为一些原因题目才刚发下来 但交的日期却没有延迟 我实在没办法了 希望大家帮忙了

    做这个的时候不要用到连表什么就用数组之类的越简单越好写的程序不要带没用的字符 总之程序越少越好 最好不要用指针 谢谢; 了

    展开

    全部

    更多相关内容
  • 大一 C语言课程设计

    2022-01-22 14:44:00
    计算机大一C语言课程设计

    第一次写文章,有点小激动,嘻嘻。
    寒假在家无聊准备做点事,本人大二的一名计算机专业在校生。下面是自己在大一时写过的一个课程设计,技术比较菜,希望大佬们勿喷。

    1.需求分析:@TOC
    利用C语言编写个人记账本,要求实现信息的输入,查询和修改,以及将数据静态保存在文件中。灵活运用指针,链表,结构体,文件等C语言的知识。

    2.设计方案@TOC
    用C语言编写一个个人的账单管理系统,该系统具有以下功能:
    (1)注册账号及使用账号登录功能;
    (2)显示全部账单信息,以及删除指定账单的功能;
    (3)增加账单,即记账功能;
    (4)给定某个日期,查找到该日期下的账单;
    (5)计算总的支出和收入情况;
    (6)数据导入功能
    (7)利用文件的建立、打开与读写对以上功能进行操作
    (8)能够实现多用户使用,不同用户的数据会单独生成一个文件来保存

    3.流程图@TOC

    根据需求分析,可以把这个系统的设计分为登录、显示、查找、增加、删除五大模块,其中显示模块可以分为三个分别是全部打印到屏幕、删除指定项、计算总收入支出;查找模块下有两个子模块,是按日期查找、和显示当日支出收入情况。
    4.具体实现@TOC
    头文件及定义

    //个人记账本 
    #include"stdio.h"
    #include"stdlib.h"
    #include"string.h" 
    #define  MAX   50
    //结构体定义及函数声明
    struct  person
    {
    	char name[30];
    	char  code[20];
    };
    
    typedef  struct node
    {
    	char  date[MAX];  //日期 
    	char  tip[MAX];	//备注 
    	int   in;       //收入 
    	int   out;      //支出 
    	struct node *next;
    }count,*Pcount;
    struct person  P;  //定义全局变量P  在多用户使用时生成该用户的文件 
      
      //函数声明 
    void   Create_Person(struct person *p);//创建用户 
    void   enter(struct person *p);//登录函数 
    void  begin(struct  person *p);//初始函数 
    void  Head(void);   //目录标签显示 
    Pcount  creat_count(Pcount H);//创建单链表 
    int  Import(Pcount c); //导入数据函数 
    Pcount  Add(Pcount c);//记账函数
    void  Find(Pcount c);//按日期查找 
    void   Sum_All(Pcount c);//总收入与总支出 
    void  Del(Pcount  c,int n );//删除一条账单 
    void   print(Pcount c) ;//打印账单
    void  Save(Pcount c,struct person *P);//保存数据函数
    void  Menu(struct person *p,Pcount c);//菜单
    void  Back_Menu(Pcount c);//返回菜单  
    void  destroy(Pcount *H);//销毁链表 
    
    

    主函数

    //主程序 
    int main( )
    {
    	Pcount c;
    	c=creat_count(c);
    	begin(&P); 
    	getchar();
        system("cls");
        printf("%s",P.name);
        Import(c); 
    	Menu(&P,c); 
    } 
    
    

    主要函数实现

    void   Create_Person(struct person *p)//创建用户
    {/* 将创建的的姓名和密码保存在一个文件中*/
    	FILE  *fp=NULL,*f=NULL;
    	char  st[]=".txt";
    	printf("创建姓名:");
    	scanf("%s",(*p).name);
    	printf("创建密码:");
    	scanf("%s",(*p).code);
    	if(fp=fopen("person.txt","a+"))
    	{
    		fprintf(fp,"%s\n",(*p).name);
    	    fprintf(fp,"%s\n",(*p).code);
    	    printf("创建成功!\n"); 	
    		fclose(fp);
    		
    	
    	}
    	else
    	{
    		printf("创建失败!");
    		getchar();
    	}	
    	strcat((*p).name,st);
    	if(f=fopen((*p).name,"w+"))  //创建以用户名命名的文件用来保存账单 
    	{
    		printf("\n用户文件创建成功!\n");
    		getchar();	
    		fclose(f);
    	}
    	else
    	{
    		printf("\n创建用户文件失败\n");
    	}	
    	system("cls");
    	begin(p);
    }
    void   enter(struct person *p)//登录函数 
    {
    	FILE  *fp=NULL;
    	char  st[]=".txt";
    	char  str_name[30];
    	char  str_code[20];
    	int flag=0;
    	printf("输入姓名:");
        scanf("%s",(*p).name);
    	printf("输入密码:");
    	scanf("%s",(*p).code);
    	if(fp=fopen("person.txt","r"))
    	{
    		while(!feof(fp))
    		{
    			fscanf(fp,"%s\n",str_name);
    			fscanf(fp,"%s\n",str_code);
    			if(strcmp((*p).name,str_name)==0&&strcmp((*p).code,str_code)==0)
    			{	
    				flag=1;
    				break; 
    			}
    		}
    		if(flag==1)
    		{
    			printf("登录成功!\n");
    			strcat((*p).name,st);//为了方便后面打开文件,将name后面加上后缀.txt 
    			fclose(fp);
    		}
    		else 
    		{
    			printf("账号或密码错误!\n");
    			system("pause");
    			system("cls");
    			begin(p);
    		}
    	}
    	else
    	{
    		printf("系统错误,请重新登录");
    		getchar();
    		enter(p);
    	}
    	
    }
    void  begin(struct  person *p) //开始函数 
    {
    	int  n;
    	printf("------------------欢迎使用个人记账本!------------------");
    	getchar();
    	system("cls"); 
    	printf("1.已有账号\n2.注册\n");	
    	scanf("%d",&n);
    	while(n!=1&&n!=2)//指令选择 
    	{ 
           printf("请输入正确的指令:");
           scanf("%d",&n);
           
    	}
    	if(n==1)
    	   {
    		   printf("请登录\n");
    	       enter(p);
    	    }
    	    else if(n==2)
    	    { 
    		   Create_Person(p); 
    	    }
    }
    
    void  Head(void)
    {/*表头函数*/ 
    	printf("    日期    \t备注    \t收入\t支出\n");
    } 
    
    
    /单链表 
    Pcount  creat_count(Pcount H) //创建账单链表头结点
    {
    	H=(Pcount)malloc(sizeof(count));
    	if(H)
    	{
    	    H->next=NULL;
    		 return H;
    	}
    	else
    	{
    		printf("创建失败!");
    		return  NULL; 
    	}
    }
    
    int   Import(Pcount c)//导入数据函数 
    {
    	Pcount p=NULL,q=NULL;
    	FILE *fp=NULL;
    	p=c;
    	if(fp=fopen(P.name,"r"))//读取账单文件信息,导入链表 
    	{
    		while(!feof(fp))
    		{
    			q=(Pcount)malloc(sizeof(count));
    			fscanf(fp,"%s\n",q->date);
    			fscanf(fp,"%s\n",q->tip);
    			fscanf(fp,"%d\n",&q->in);
    			fscanf(fp,"%d\n",&q->out);
    			q->next=p->next;
    			p->next=q;
    			p=p->next;
    		}
    		printf("导入数据成功!\n"); 
    		fclose(fp);
    		return 1;
    	}
    	else 
    	{
    		printf("导入数据失败!\n"); 
    		return 0;
    	}
    	free(p);
    	free(q);
    } 
    
    Pcount  Add(Pcount c)//记账函数
    /*利用单链表记入数据*/ 
    {
    	FILE *fp=NULL;	
    	int n=1;
    	Pcount p=NULL,q=NULL;
    	p=c;
    	if(fp=fopen(P.name,"a+"))
    	while(n)
    	{
    		printf("增加一条账单\n");
    		q=(Pcount)malloc(sizeof(count));
    	    printf("日期(年-月-日):");
    	    scanf("%s",q->date);
    	    printf("备注:");
    	    scanf("%s",q->tip);
    	    printf("收入:");
        	scanf("%d",&q->in);
    	    printf("支出:");
    	    scanf("%d",&q->out);
    		fprintf(fp,"%s\n",q->date);
    		fprintf(fp,"%s\n",q->tip);
    		fprintf(fp,"%d\n",q->in);
    		fprintf(fp,"%d\n",q->out); 
    	    q->next=p->next;
    	    p->next=q;
    	    p=p->next;
    	    getchar();
            printf("0.返回,1.继续:");
    		scanf("%d",&n); 
    	}
    	fclose(fp);
    	free(p);
    	return  c;
    }
    
    
    void  Find(Pcount c)
    {/*按日期查找日期相同的账单*/ 
        char st[MAX];
    	Pcount p=c->next;
    	int  a=0,b=0;
    	int flag=0;
    	printf("输入要查找的日期:");
    	getchar();
    	gets(st); 
    	Head();
    	while(p)
    	{
    		if(strcmp(p->date,st)==0)
    		{
    			printf("%s\t%s\t\t%d\t%d\n",p->date,p->tip,p->in,p->out);
    			flag++;
    			a+=p->in;
    		    b+=p->out;
    		}
    		p=p->next;
    	}
    	if(flag==0)
    	{
    		printf("未找到!\n");	
    	}
    	else
    	printf("          支出:%d,收入:%d\n",b,a);	
    	system("pause"); 
    	free(p);
    }
    
    void   Sum_All(Pcount c)//总收入与总支出 
    {
    	Pcount p;
    	p=c->next;
    	int  a=0;
    	int  b=0;
    	while(p)
    	{
    		a+=p->in;
    		b+=p->out;
    		p=p->next;
    	}
    	
    	printf("\n总收入:%d,总支出:%d,净值:%d\n",a,b,a-b);
    	free(p);
    }
     
     void  Del(Pcount  c,int n )
    {/*序号匹配删除*/ 
    	Pcount p,q;
    	int i=1;
    	p=c->next;
    	q=c;
    	if(n>0)
    	{ 
    	while(p)
    	{
    	    p=p->next;
    		if(i==n)
    		{
    			q->next=p->next;
    			free(p);
    			break;
    		}
    		
    		q=q->next;
    		i++;
    	} 
    	if(p==NULL)
    	{
    		printf("输入序号不正确,删除失败\n");
    	}
    	} 
    	free(p);
    	free(q);
    } 
    void   print(Pcount c) 
    {/*打印函数,将账单信息按日期打印出来*/
     
    	Pcount  p=NULL;
    	int  a=1;
    	p=c->next;
    	int  v=1;
    	int  n;
    	Head();
    	if(p)
        {
        		while (p)
        {
    		printf("%d  %s\t%s\t\t%d\t%d\n",v,p->date,p->tip,p->in,p->out);
    		v++;
    		p=p->next;
    	}
    	Sum_All(c);
    	while(a)
    	{
    		printf("        输入需要删除的序号( 0 取消删除):");
    	    scanf("%d",&n);
    	    Del(c,n);
    	    printf("        1.继续,0.退出:");
    		scanf("%d",&a); 
    	}
        }
    	else
    	{
    		printf("账单为空!添加账单\n"); 
    	}	
           free(p);
    	    //返回主菜单 
    }
    
    void  Save(Pcount c,struct person *P)//保存数据函数
    {
    	Pcount p=NULL;
    	FILE *fp=NULL;
    	p=c->next;
    	if(fp=fopen((*P).name,"w+"))//读取链表信息,保存在文件中 
    	{
    		while(p)
    		{
    			fprintf(fp,"%s\n",p->date);
    			fprintf(fp,"%s\n",p->tip);
    			fprintf(fp,"%d\n",p->in);
    			fprintf(fp,"%d\n",p->out);
    			p=p->next;
    		}
    		printf("       保存数据成功!\n"); 
    	}
    	else 
    	{
    		printf("       保存数据失败!\n"); 
    	}
    	free(p);
    } 
    
    void  Menu(struct person *p,Pcount c)
    {
    	int  choose;
    	system("cls");
    	printf("**********个人记账本系统**********\n");
    	printf("          1.查看全部账单\n");
    	printf("          2.记账\n");
    	printf("          3.查找账单\n");
    	printf("          4.退出系统\n");
    	printf("          选择需要进行的操作:\n");
    	do 
    	{
    		switch(choose=getchar())
    		{
    			case  '1': print(c); Menu(&P,c); break;
    		    case  '2': c=Add(c); Menu(&P,c);break;
    		    case  '3': Find(c); Menu(&P,c);break;
    		    case  '4': Save(c,&P);destroy(&c);exit(0);
    		    default : continue;
    		}
    		 
    	} while(1);
    } 
    
    void  Back_Menu(Pcount c)//返回菜单 
    {
    	printf("\n       按回车键返回菜单!\n");
    	getchar();
    	system("cls");
    	Menu(&P,c);
    }
    void  destroy(Pcount *H)//销毁链表 
    {
          Pcount p,q;
          p=*H;
          while ( p!=NULL)  
           { 
    	      q=p;
              p=p->next;
              free(q); 
           }  
          *H=NULL;  
    }
    

    注:当时用的DEV-C++来写的。
    第一次写文章,希望多多包涵,:)

    展开全文
  • 大一 C语言课程设计(运动员管理系统)

    千次阅读 多人点赞 2021-11-30 19:28:32
    运动员管理系统登录密码完整代码效果...完整代码 #include <stdio.h> #include <stdlib.h> #include <...#define FORMAT "\t\t\t%-12s%-15s%-60s" #define DATA ids[i].name, ids[i].x, ids[i].score ...int

    登录密码

    初始密码:123456 (可在main方法中自行修改)

    完整代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define L sizeof(ID)
    #define FORMAT "\t\t\t%-12s%-15s%-60s"
    #define DATA ids[i].name, ids[i].x, ids[i].score
    int n;
    int i = 0;
    int j = 0;
    int c;
    int k;
    FILE *p; //定义指向FILE类型文件的指针变量
    char name[12];
    typedef struct
    {
    	char name[12];	//姓名
    	char x[15];		//号码与项目
    	char score[60]; //成绩
    } ID;				//声明新的类型名ID 代表上面结构体类型
    ID ids[100];
    void menu() //菜单
    {
    	system("cls");
    	printf("\n\n\n");
    	printf("\t\t\t\t\t\t\t\t\t|----------------------------------------------|\n");
    	printf("\t\t\t\t\t\t\t\t\t|                                              |\n");
    	printf("\t\t\t\t\t\t\t\t\t|                 运动员信息                   |\n");
    	printf("\t\t\t\t\t\t\t\t\t|                                              |\n");
    	printf("\t\t\t\t\t\t\t\t\t|     1.录入运动员信息     2.查询运动员信息    |\n");
    	printf("\t\t\t\t\t\t\t\t\t|                                              |\n");
    	printf("\t\t\t\t\t\t\t\t\t|     3.修改运动员信息     4.删除运动员信息    |\n");
    	printf("\t\t\t\t\t\t\t\t\t|                                              |\n");
    	printf("\t\t\t\t\t\t\t\t\t|     5.显示全部运动员信息 0.退出系统          |\n");
    	printf("\t\t\t\t\t\t\t\t\t|                                              |\n");
    	printf("\t\t\t\t\t\t\t\t\t|----------------------------------------------|\n");
    	printf("\t\t\t\t\t\t\t\t\t\t请在(0—5)选择要进行的操作!\n"); //菜单的主页面
    }
    
    void all() //全部运动员信息展示
    {
    	system("cls"); //清屏
    	printf("\n\n\n\n");
    	p = fopen("data.txt", "rb"); //打开文件并将fopen函数的返回值赋给指针变量p
    	j = 0;
    	while (!feof(p))					  //判断p指向的文件是否结束
    		if (fread(&ids[j], L, 1, p) == 1) //将p指向的文件中读入结构体数组ids的一个元素 每次读入一个 则读入成功 其返回值为1
    			j++;						  //每读一个 j就加1
    	fclose(p);							  //把p指向的文件关闭 以后p不再指向该文件
    	if (j == 0)
    	{
    		printf("\t\t\t\t目前没有运动员信息\n\t\t\t");
    		system("pause");
    		return;
    	}
    	printf("\t\t\t姓名        号码与成绩     成绩\n");
    	for (i = 0; i < j; i++) //输出运动员信息
    	{
    		printf(FORMAT, DATA);
    		printf("\n");
    	}
    	printf("\t\t\t输入任意键返回主界面\n\t");
    	system("pause");
    }
    
    void input()
    {
    	system("cls"); //清屏
    	printf("\n\n\n");
    	if ((p = fopen("data.txt", "a+")) == NULL) //打开文件,先检查是否有错,有错则输出无法打开文件
    	{
    		printf("\t\t\t\t\t无法打开文件\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	while (!feof(p)) //判断p指向的文件是否结束
    	{
    		if (fread(&ids[j], L, 1, p) == 1) //将p指向的文件中读入结构体数组ids的一个元素 每次读入一个 则读入成功 其返回值为1
    			j++;
    	}
    	fclose(p); //把p指向的文件关闭 以后p不再指向该文件
    	if (j == 0)
    		printf("\t\t\t\t\t目前没有运动员\n");
    	else
    	{
    		system("cls"); //清屏
    		printf("\n\n\n\n");
    		all();
    	}
    	if ((p = fopen("data.txt", "wb")) == NULL) //打开文件,先检查是否有错,有错则输出无法打开文件,p指向该文件
    	{
    		printf("\t\t\t\t\t文件无法打开\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	for (i = 0; i < j; i++) //建立运动员信息
    		fwrite(&ids[i], L, 1, p);
    	printf("\t\t\t\t\t输入1开始建立运动员信息 输入0结束\n\t\t\t\t\t");
    	scanf("%d", &c);
    	while (c)
    	{
    		printf("\t\t\t\t\t输入运动员姓名\n\t\t\t\t\t");
    		scanf("%s", &ids[j].name);
    		for (i = 0; i < j; i++)
    			if (strcmp(ids[j].name, ids[i].name) == 0)
    			{
    				printf("\t\t\t\t\t该运动员已存在\n\t\t\t\t\t");
    				system("pause");
    				fclose(p);
    				return;
    			}
    		printf("\t\t\t\t\t运动员号码与项目:\n\t\t\t\t\t");
    		scanf("%s", &ids[j].x);
    		printf("\t\t\t\t\t运动员的成绩:\n\t\t\t\t\t");
    		scanf("%s", &ids[j].score);
    		if (fwrite(&ids[j], L, 1, p) != 1)
    		{
    			printf("\t\t\t\t\t写入失败\n\t\t\t\t\t");
    			system("pause");
    			return;
    		}
    		else
    		{
    			printf("\t\t\t\t\t运动员信息 %s 写入成功\n", &ids[j].name);
    			j++;
    		}
    		printf("\t\t\t\t\t是否继续输入?输入1继续 输入0结束\n\t\t\t\t\t");
    		scanf("%d", &c);
    	}
    	fclose(p);
    	printf("\t\t\t\t\t已关闭文件\n");
    	printf("\t\t\t\t\t任意键返回主界面\n\t\t\t\t\t");
    	system("pause");
    }
    void search()
    {
    	system("cls");
    	printf("\n\n\n\n");
    	if ((p = fopen("data.txt", "rb")) == NULL)
    	{
    		printf("\t\t\t\t\t打开文件失败\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	while (!feof(p))
    		if (fread(&ids[j], L, 1, p) == 1)
    			j++;
    	fclose(p);
    	if (j == 0)
    	{
    		printf("\t\t\t\t\t目前没有运动员信息\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	printf("\t\t\t\t\t请输入要查找的运动员姓名\n\t\t\t\t\t");
    	scanf("%s", name);
    	for (i = 0; i < j; i++)
    		if (strcmp(ids[i].name, name) == 0)
    		{
    			printf("\t\t\t\t\t已找到运动员\n");
    			printf("\t\t\t\t\t是否显示此运动员? 输入1显示 输入0不显示\n\t\t\t\t\t");
    			scanf("%d", &c);
    			if (c)
    			{
    				printf("\t\t\t姓名        号码与项目     成绩\t\t\t\t\t\n");
    				printf(FORMAT, DATA);
    			}
    			break;
    		}
    	if (i == j)
    		printf("\t\t\t\t\t未查询到该运动员\n");
    	printf("\t\t\t\t\t任意键返回主页面\n\t\t\t\t\t");
    	system("pause");
    }
    void updata()
    {
    	system("cls");
    	printf("\n\n\n\n");
    	if ((p = fopen("data.txt", "rb")) == NULL)
    	{
    		printf("\t\t\t\t\t无法打开文件\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	while (!feof(p))
    	{
    		if (fread(&ids[j], L, 1, p) == 1)
    			j++;
    	}
    	if (j == 0)
    	{
    		printf("\t\t\t\t\t目前还没有运动员\n");
    		fclose(p);
    		return;
    	}
    	fclose(p);
    	all();
    	printf("\t\t\t\t\t输入你想修改的运动员信息\n");
    	printf("\t\t\t\t\t姓名:");
    	scanf("%s", name);
    	for (i = 0; i < j; i++)
    	{
    		if (strcmp(name, ids[i].name) == 0)
    		{
    			printf("\t\t\t\t\t已找到该运动员,请修改\n");
    			printf("\t\t\t\t\t姓名:");
    			scanf("%s", &ids[i].name);
    			printf("\t\t\t\t\t号码与项目:");
    			scanf("%s", &ids[i].x);
    			printf("\t\t\t\t\t成绩:");
    			scanf("%s", &ids[i].score);
    			fopen("data.txt", "wb");
    			for (c = 0; c < j; c++)
    				if (fwrite(&ids[c], L, 1, p) != 1)
    				{
    					printf("\t\t\t\t\t没有成功保存\n");
    					system("pause");
    					return;
    				}
    			printf("\t\t\t\t\t运动员 %s 的信息修改成功\n", name);
    			fclose(p);
    			break;
    		}
    	}
    	if (i == j)
    		printf("\t\t\t\t\t没有找到该运动员\n");
    	printf("\t\t\t\t\t输入任意键返回主界面\n\t\t\t\t\t");
    	system("pause");
    }
    void dlt()
    {
    	system("cls");
    	printf("\n\n\n\n");
    
    	if ((p = fopen("data.txt", "r+")) == NULL)
    	{
    		printf("\t\t\t\t\t目前没有文件\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	j = 0;
    	while (!feof(p))
    	{
    		if (fread(&ids[j], L, 1, p) == 1)
    		{
    			j++;
    		}
    	}
    	fclose(p);
    	if (j == 0)
    	{
    		printf("\t\t\t\t\t目前没有运动员信息\n\t\t\t\t\t");
    		system("pause");
    		return;
    	}
    	printf("\t\t\t\t\t输入你想删除的运动员姓名: ");
    	scanf("%s", name);
    	for (i = 0; i < j; i++)
    	{
    		if (strcmp(name, ids[i].name) == 0)
    		{
    			printf("\t\t\t\t\t已找到该运动员,是否删除 1 确定 0 取消\n");
    			printf("\t\t\t姓名        号码与项目     成绩\t\t\t\t\t\n");
    			printf(FORMAT, DATA);
    			printf("\n\t\t\t");
    			scanf("%d", &k);
    			if (k)
    			{
    				for (n = i; n < j; n++)
    				{
    					ids[n] = ids[n + 1];
    				}
    				j -= 1;
    			}
    			break;
    		}
    	}
    	fopen("data.txt", "wb");
    	for (i = 0; i < j; i++)
    	{
    		if (fwrite(&ids[i], L, 1, p) != 1)
    		{
    			printf("\t\t\t\t\t没有修改成功\n");
    			system("pause");
    			return;
    		}
    	}
    	printf("\t\t\t\t\t运动员 %s 的信息删除成功\n", name);
    	fclose(p);
    	printf("\t\t\t\t\t输入任意键返回主界面\n\t\t\t\t\t");
    	system("pause");
    }
    main()
    {
    	char s[20];
    	printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t请输入密码以进入系统:");
    	scanf("%s", s);
    	if (strcmp(s, "123456") == 0)	//密码
    	{
    
    		void menu();
    		void input();
    		void search();
    		void updata();
    		void dlt();
    		void all();
    	repeat:
    		menu();
    		scanf("%d", &n);
    		while (n)
    		{
    			switch (n)
    			{
    			case 1:
    				input();
    				break;
    			case 2:
    				search();
    				break;
    			case 3:
    				updata();
    				break;
    			case 4:
    				dlt();
    				break;
    			case 5:
    				all();
    				break;
    			}
    			goto repeat;
    		}
    	}
    	else
    		printf("密码输入错误!系统已关闭!");
    	return 0;
    }
    

    效果展示

    运行环境:VS Code

    1. 输入密码
      在这里插入图片描述

    2. 成功进入
      在这里插入图片描述

    3. 录入运动员信息
      在这里插入图片描述

    4. 查询运动员信息
      在这里插入图片描述

    5. 修改运动员信息
      在这里插入图片描述

    6. 删除运动员信息
      在这里插入图片描述

    7. 显示全部运动员信息
      在这里插入图片描述

    8. 退出系统
      在这里插入图片描述

    结语

    都看到这了,点个赞再走呗~嘻嘻

    展开全文
  • 这是我大一放假时的C语言课程设计作业,用easyX实现了人人模式,人机困难简单两种模式,下棋提示,背景音乐、鼠标操作。包含设计报告。 由于时间紧迫,没有对代码进行优化,比较乱。有兴趣的小伙伴可以下载下来看...
  • 大一C语言课程设计

    2011-07-16 09:32:45
    大一要做的C语言课程设计大一要做的C语言课程设计大一要做的C语言课程设计大一要做的C语言课程设计大一要做的C语言课程设计大一要做的C语言课程设计
  • 要求:1、用C语言实现程序设计; 2、利用结构体数组、链表等实现学生信息表达、查询等,充分体现数据结构的知识; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。 5、...
  • C语言 课程设计作业 学生成绩管理系统 含源代码、docx详细报告。 全独立手写,和网上其他能找到的绝不重复。
  • 大一C语言课程设计,趣味五子棋,图形界面,用Turbo C编译,在正确路径下即可运行
  • 大一C语言课程设计

    2022-03-15 10:57:16
    下面是我的C语言图书管理代码,很简陋,但是还是有一点小问题,有没有大佬帮忙看一下, 就是,写入文件没问题,读文件并输出就有问题了,麻烦各位大佬看一下谢谢 #include<stdio.h> #include<string...

    下面是我的C语言图书管理代码,很简陋,但是还是有一点小问题,有没有大佬帮忙看一下,

    就是,写入文件没问题,读文件并输出就有问题了,麻烦各位大佬看一下谢谢

     

    #include<stdio.h>

    #include<string.h>

    #include<stdlib.h>

    #include<windows.h>

    #include<conio.h>

    struct book

    {

           char name[50];

           char auther[30];

           char ISBN[30];

           char publisher[40];

           int year;

           int number;

           float price;

           struct book*p;

    };

    struct book shu;//结构体全局变量

    void add_book();//添加图书

    void search_book();//查询图书

    void name();//按书名查找

    void auther();//作者名查找

    void ISBN();//按书的ISBN号查询

    void publisher();//按出版社查找

    void year();//按出版年份查找

    void price();//按图书的价格

    int condition=0;

    int main()

    {

           int n;

           while(condition==0)//界面

           {

                  system("cls");

                  printf("*****************欢迎登陆图书信息管理系统*****************\n");

                  printf("***************** 1.图书录入 2.图书浏览  *****************\n");

                  printf("*****************     请输入您的序号     *****************\n");

                  scanf("%d",&n);

                  if(n==1)

                  {

                         add_book();

                  }

                  else if(n==2)

                  {

                      search_book();

                  }

                  else

                  {

                         system("cls");//cls为清屏操作

               printf("*******  输入错误,请重新输入 ********\n");

                  }

           }

           return 0;

    }

    void add_book()//图书录入系统的子函数

    {

           system("cls");

           int xx;

           FILE *fp;//指针指向文件

           fp=fopen("F:\\mybook\\mybook.txt","a");

           if((fp)==NULL)//数据保存的文件地址

           {     

                  printf("file open error!\n");

                  exit(0);

           }

           printf("******     请输入书名     ******\n");

           scanf("%s",shu.name);

           printf("******    请输入作者名    ******\n");

           scanf("%s",shu.auther);

           printf("******    请输入ISBN号    ******\n");

           scanf("%s",shu.ISBN);

           printf("******   请输入出版社名   ******\n");

           scanf("%s",shu.publisher);

           printf("******   请输入出版年份   ******\n");

           scanf("%d",&shu.year);

           printf("******   请输入书的数量   ******\n");

           scanf("%d",&shu.number);

           printf("******   请输入书的价格   ******\n");

           scanf("%lf",&shu.price);

           fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

           if(fclose(fp))

           {

                  printf("Can not close the file!\n");

                  exit(0);

           }

           while(1)

           {

                  system("cls");//再次清屏

                  printf("添加成功!返回上一级请扣1,继续录入请扣2\n");

                  scanf("%d",&xx);

                  if(xx==1)

                         main();

                  else if(xx==2)

                         add_book();

                  else

                         printf("输入错误,请重新输入!\n");

           }

    }

    void search_book()//查询图书功能

    {

           system("cls");

           int c;

           printf("请选择您的查询方式!\n");

           printf("*****      1.以书名查询     ******\n");

           printf("*****      2.以作者查询     ******\n");

           printf("*****     3.以ISBN号查询    ******\n");

           printf("*****    4.以出版社名查询   ******\n");

           printf("*****    5.以出版年份查询   ******\n");

           printf("*****      6以价位查询      ******\n");

           scanf("%d",&c);

           switch(c)

           {

           case 1:

                  name();

                  break;

           case 2:

                  auther();

                  break;

           case 3:

                  ISBN();

                  break;

           case 4:

                  publisher();

                  break;

           case 5:

                  year();

                  break;

           case 6:

                  price();

                  break;

           }

    }

    void name()//书名查找

    {

           system("cls");

           FILE *fp;

           int x;

           char fname[50];

           printf("请输入图书的书名:\n");

           scanf("%s",fname);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(strcmp(shu.name,fname)==0)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         x=x+1;

                  }

           }

           if(x==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    }

    void auther()//作者名查找

    {

           system("cls");

           FILE *fp;

           int a;

           char fauther[30];

           printf("请输入图书的作者名:\n");

           scanf("%s",fauther);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(strcmp(shu.auther,fauther)==0)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         a=a+1;

                  }

           }

           if(a==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    }

    void ISBN()//按书的ISBN号查询

    {

           system("cls");

           FILE *fp;

           int b;

           char fISBN[30];

           printf("请输入图书的ISBN号:\n");

           scanf("%s",fISBN);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(strcmp(shu.ISBN,fISBN)==0)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         b=b+1;

                  }

           }

           if(b==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    }

    void publisher()//按出版社查找

    {

           system("cls");

           FILE *fp;

           int c;

           char fpublisher[40];

           printf("请输入图书的出版社名称:\n");

           scanf("%s",fpublisher);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(strcmp(shu.publisher,fpublisher)==0)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         c=c+1;

                  }

           }

           if(c==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    }

    void year()//按出版年份查找

    {

           system("cls");

           FILE *fp;

           int d;

           int fyear;

           printf("请输入图书的出版年份:\n");

           scanf("%d",&fyear);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(shu.year==fyear)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         d=d+1;

                  }

           }

           if(d==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    }

    void price()//按图书的价格

    {

           system("cls");

           FILE *fp;

           int g;

           int fprice;

           printf("请输入图书的价位:\n");

           scanf("%lf",fprice);

           if((fp=fopen("F:\\mybook\\mybook.txt","r"))==NULL)

           {

                  printf("文件打开错误\n");

                  exit(0);

           }

           while(!feof (fp))

           {

                  fscanf(fp,"%s %s %s %s %d %d %lf",shu.name,shu.auther,shu.ISBN,shu.publisher,&shu.year,&shu.number,&shu.price);

                  if(shu.price==fprice)

                  {

                         fprintf(fp,"%s %s %s %s %d %d %lf\n",shu.name,shu.auther,shu.ISBN,shu.publisher,shu.year,shu.number,shu.price);

                         g=g+1;

                  }

           }

           if(g==0)

                  printf("没有这本书!\n");

           if(fclose(fp))

           {

                  printf("打不开这个文件夹!\n");

                  exit(0);    

           }

           system("pause");

           search_book();

    展开全文
  • C语言课程设计五子棋

    2012-06-16 22:37:59
    C语音课程设计五子棋。五子棋课程设计,包括源代码,注释,简单易懂,在VC6.0上测试通过,
  • 1.实现功能:增删改查、排序、插入、输出所有信息 2.成员:用户姓名、性别、电话号码、自行车编号 3.基于链表实现 4.软件:Dev-C++ 5.代码共688行 6.代码有概述,理解快 7.代码页面简洁、注释多
  • <p><strong><strong><strong> 数学小帮手</strong></strong></strong></p> ...请自行设计,如何出题、如何验证。 谢谢xie ; margin-right:0pt">  ; margin-right:0pt">  ; margin-right:0pt"> </p>
  • 猜测大一的同学只要是学习C语言的应该最后都会有课程设计,我们一组当时分配到的题目是写图书馆管理系统。系统并不是很完善,只是实现功能,望大佬勿喷。其中程序的主要贡献者是我舍友范同学(Robin),我是负责了其中...
  • 计算机专业,大一C语言专业课,整学期所有课时作业,加上我自己平时练习的代码,包括什么C语言版计算器,计算水仙花数、冒泡排序、矩阵转置、对角线和、统计单词个数、成绩排序等等 计算机专业,大一C语言专业...
  • 大一c语言实训的课程设计。由小组分工完成。可做参考1.[文件] dao.h~888B 下载(32)/*模拟数据库*/#define casenum 50#define itemnum 20#define departmentnum 10//病历缓存 暂定记录50个struct hospital_case cases...
  • 2.计算每门课程的总分和平均分 3.计算每个学生的总分和平均分 4.按每个学生的总分由高到低排出名次表 5.按每个学生的总分由低到高排出名次表 6.按学号由小到大排出成绩表 7.按姓名的字典顺序排出成绩表 8.按...
  • =NULL) {if(strcmp(a,p1->kind)==0) //用strcmp函数进行字符串的比较 {printf("课程编号 课程名称 课程性质 课程总学时 教学用时 实验用时 学分 开课学期\n"); printf(FORM1,OUTPUT); //如果相同,输出课程信息 n++;...
  • 功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。 系统要求实现以下功能: 1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生...
  • C语言案例课程设计期末大作业大一的时候写的期末大作业报告
  • 学校作业C语言课程设计

    千次阅读 2021-08-17 16:51:22
    一、课程设计题目:C语言课程设计 二、课程设计任务: 学生可从以下项目中任选一个为题,单独完成程序的编写工作,并经调试后能正常运行方可参加结题答辩。 1、学生通讯录管理系统设计 设计一个学生通信录,学生...
  • c语言课程设计报告--万年历 c 语言课程设计报告--万年历C 语 言 课 程 设 计 报 告C 语言课程设计报告实验课程:c 语言课程设计 年级: 软件 2 班 实验成绩: 课程设计名称 万年历 姓名:**任课教师: 杨** 学号:**...
  • C语言是一门编程语言,简单点说,就是由人类书写按照一定规范书写的字符,通过一定...其应用广泛,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的...
  • 篇一:C语言课程设计总结C语言课程设计总结一、 设计题目:猜数字和贪吃蛇小游戏。专业:09电气工程及其自动化组号:第十组组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源...
  • 简要说明: 完成时间:2019年暑假 内容:大一上期C语言程序设计作业,编写的图书管理系统 运行环境:Visual C++ 6.0 编码格式为GBK,如果打开中文为乱码请转换成UTF-8
  • c语言课程设计讲解内容图文一、课程设计的目的与要求 1、教学目的 本课程设计是学生学习完《C语言程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计的方法,加深对C语言...
  • C语言课程设计之ATM机

    2017-10-15 10:29:46
    C语言大作业大一的时候写的,现在分享给小伙伴们参考以发挥余热。 这是ATM,更多请搜索"C语言课程设计之".
  • (3)总体流程图 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退 出。 ; ;printf("\t\t\t**************│; ;; ; ; scanf("%d",&m); ;1;1; { for(j=1;j0) { strcpy...
  • C语言大学课程作业 含课程报告 自我撰写 无抄袭无参考 满分 400行代码
  • c语言课程设计报告(答辩上交)

    千次阅读 2021-05-19 06:38:54
    c语言课程设计报告(答辩上交)》由会员分享,可在线阅读,更多相关《c语言课程设计报告(答辩上交)(7页珍藏版)》请在人人文库网上搜索。1、青岛理工大学C语言程序设计主题家庭财务管理系统导师:王金龙名字:吴魏...
  • 源代码 + 需求说明,功能说明+遇到的问题+心得体会的PPT。 适用范围:大一上学期期末大作业

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,770
精华内容 708
热门标签
关键字:

大一c语言课程设计作业

友情链接: 1621_C.rar