C语言综合应用实例
c语言数组小案例

c语言数组小案例C语言是一种广泛应用的编程语言,数组是C语言中常用的数据结构之一。
它可以存储多个相同类型的数据,并通过索引访问和操作这些数据。
下面列举了10个关于C语言数组的小案例,以帮助读者更好地理解和掌握数组的使用。
1. 计算数组元素的总和编写一个程序,从用户输入一组整数,并计算它们的总和。
使用数组来存储输入的整数,并通过循环遍历数组来计算总和。
2. 查找数组中的最大值和最小值编写一个程序,从用户输入一组整数,并找到其中的最大值和最小值。
使用数组来存储输入的整数,并通过循环遍历数组来找到最大值和最小值。
3. 数组的逆序排列编写一个程序,从用户输入一组整数,并将它们按逆序排列。
使用数组来存储输入的整数,并通过循环遍历数组来实现逆序排列。
4. 数组的去重编写一个程序,从用户输入一组整数,并去除其中的重复元素。
使用数组来存储输入的整数,并通过循环遍历数组来去除重复元素。
5. 数组的排序编写一个程序,从用户输入一组整数,并将它们按升序或降序排序。
使用数组来存储输入的整数,并通过循环遍历数组来实现排序。
6. 数组的拷贝编写一个程序,从用户输入一组整数,并将它们拷贝到另一个数组中。
使用两个数组分别存储输入的整数,并通过循环遍历数组来实现拷贝。
7. 数组的搜索编写一个程序,从用户输入一组整数,并在数组中搜索指定的值。
使用数组来存储输入的整数,并通过循环遍历数组来搜索指定的值。
8. 数组的合并编写一个程序,从用户输入两组整数,并将它们合并为一个数组。
使用两个数组分别存储输入的整数,并通过循环遍历数组来实现合并。
9. 数组的平均值和方差编写一个程序,从用户输入一组整数,并计算它们的平均值和方差。
使用数组来存储输入的整数,并通过循环遍历数组来计算平均值和方差。
10. 数组的矩阵操作编写一个程序,从用户输入一个矩阵,并实现矩阵的转置、矩阵的相加和矩阵的乘法等操作。
使用二维数组来存储输入的矩阵,并通过循环遍历数组来实现矩阵操作。
C语言综合应用实例

C 语言综合应用实例#include<stdio.h> /*I/O 函数*/#include<stdlib.h> /* 其它说明*/#include<string.h> /* 字符串函数*/#define BUFLEN 100 /* 缓冲区最大字符数*/#define LEN 15 /* 学号和姓名最大字符数, 实际请更改*/ #define N 100 /* 最大学生人数, 实际请更改*/struct record /* 结构体*/{char code[LEN+1]; /* 学号*/char name[LEN+1]; /* 姓名*/int age; /* 年龄*/char sex[3]; /* 性别*/char time[LEN+1]; /* 出生年月*/char add[30]; /* 家庭地址*/char tel[LEN+1]; /* 电话号码*/char mail[30]; /* 电子邮件地址*/}stu[N];int k=1,n,m; /* 定义全局变量*/void readfile();/* 函数声明*/ void seek(); void modify();void insert();void del();void display();void save();void menu();int main() {while(k) menu();system("pause");return 0;}void help(){printf("\n0. 欢迎使用系统帮助!\n");printf("\n1.进入系统后, 先刷新学生信息, 再查询;\n");printf("\n2. 按照菜单提示键入数字代号;\n"); printf("\n3. 增加学生信息后, 切记保存按7;\n"); printf("\n4. 谢谢您的使用!\n");}void readfile()/* 建立信息*/{char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("student.txt","r"))==NULL) {printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8){i++;i=i;}fclose(fp);n=i;printf(" 录入完毕!\n");void seek() /* 查找*/ {int i,item,flag;char s1[21]; /* 以姓名和学号最长长度+1为准*/ printf(" ----------------- \n");printf(" ----- 1. 按学号查询 - \n");printf(" ----- 2. 按姓名查询 - \n");printf(" ----- 3. 退出本菜单 - \n");printf(" ----------------- \n");while(1){printf(" 请选择子菜单编号:");scanf("%d",&item);flag=0;switch(item)case 1: printf(" 请输入要查询的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf(" 学生学号学生姓名年龄性别出生年月地址E-mail\n");电话printf(" ------------------------------------------------------------------- \n");printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}if(flag==0) case 2:printf(" 该学号不存在!\n"); break;printf(" 请输入要查询的学生的姓名:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].name,s1)==0){flag=1;printf(" 学生学号学生姓名年龄性别出生年月地址E-mail\n");电话printf(" ------------------------------------------------------------------- \n");printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}if(flag==0)printf(" 该姓名不存在!\n"); break;case 3:return;default:printf(" 请在1-3 之间选择\n");}}void modify() /* 修改信息*/{int i,item,num;char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1 为准*/ printf(" 请输入要要修改的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0) /* 比较字符串是否相等*/num=i;printf(" ----------------- \n");printf("1. 修改姓名\n");printf("2. 修改年龄\n");printf("3. 修改性别\n");printf("4. 修改出生年月\n"); printf("5. 修改地址\n"); printf("6. 修改电话号码\n");printf("7.修改E-mail 地址\n");printf("8. 退出本菜单\n");printf("------------------------ \n");while(1){printf(" 请选择子菜单编号:"); scanf("%d",&item);switch(item){case 1:printf(" 请输入新的姓名:\n");scanf("%s",s2);strcpy(stu[num].name,s2); break;case 2: printf(" 请输入新的年龄:\n"); scanf("%d",&stu[num].age);break; case 3:printf(" 请输入新的性别:\n"); scanf("%s",sex1); strcpy(stu[num].sex,sex1); break; case 4:printf(" 请输入新的出生年月:\n");scanf("%s",s2);strcpy(stu[num].time,s2); break; case 5:printf(" 请输入新的地址:\n"); scanf("%s",s2); strcpy(stu[num].add,s2); break; case 6: printf(" 请输入新的电话号码:\n");scanf("%s",s2);strcpy(stu[num].tel,s2); break;case 7:printf(" 请输入新的E-mail 地址:\n");scanf("%s",s2);strcpy(stu[num].mail,s2); break;case 8:return;default:printf(" 请在1-8 之间选择\n");}}}void sort()/* 按学号排序*/{int i,j,*p,*q,s;char temp[10];for(i=0;i<n-1;i++) {for(j=n-1;j>i;j--)if(strcmp(stu[j-1].code,stu[j].code)>0) { strcpy(temp,stu[j-1].code);strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].sex);strcpy(stu[j-1].sex,stu[j].sex);strcpy(stu[j].sex,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].add); strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp); strcpy(temp,stu[j-1].tel); strcpy(stu[j-1].tel,stu[j].tel); strcpy(stu[j].tel,temp); strcpy(temp,stu[j-1].mail); strcpy(stu[j-1].mail,stu[j].mail); strcpy(stu[j].mail,temp); p=&stu[j-1].age; q=&stu[j].age;s=*q;*q=*p;p=s;}void insert() /* 插入函数*/{int i=n,j,flag;printf(" 请输入待增加的学生数:\n");scanf("%d",&m);do{flag=1;while(flag){flag=0;printf(" 请输入第%d 个学生的学号:\n",i+1);scanf("%s",stu[i].code);for(j=0;j<i;j++) if(strcmp(stu[i].code,stu[j].code)==0) {printf(" 已有该学号, 请检查后重新录入!\n");flag=1;break; /* 如有重复立即退出该层循环, 提高判断速度*/}}printf(" 请输入第%d 个学生的姓名:\n",i+1); scanf("%s",stu[i].name);printf(" 请输入第%d 个学生的年龄:\n",i+1); scanf("%d",&stu[i].age); printf(" 请输入第%d 个学生的性别:\n",i+1); scanf("%s",stu[i].sex); printf(" 请输入第%d个学生的出生年月:(格式:年.月)\n",i+1);scanf("%s",stu[i].time);printf(" 请输入第%d 个学生的地址:\n",i+1); scanf("%s",stu[i].add); printf(" 请输入第%d 个学生的电话:\n",i+1); scanf("%s",stu[i].tel);printf(" 请输入第%d 个学生的E-mail:\n",i+1); scanf("%s",stu[i].mail);if(flag==0){i=i;i++;}}while(i<n+m);n+=m;printf(" 录入完毕!\n\n");sort();void del() {int i,j,flag=0;char s1[LEN+1];printf(" 请输入要删除学生的学号:\n"); scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)stu[j]=stu[j+1];}if(flag==0)printf(" 该学号不存在!\n");if(flag==1)printf(" 删除成功, 显示结果请选择菜单6\n");n--;}}void display(){int i;printf(" 所有学生的信息为:\n");printf(" 学生学号学生姓名年龄性别出生年月地址电话E-mail\n");printf(" ------------------------------------------------------------------- \n");for(i=0;i<n;i++){printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}void save(){int i;FILE *fp;fp=fopen("student.txt","w"); /* 写入*/for(i=0;i<n;i++){fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}fclose(fp);}void menu()/* 界面*/int num;printf(" \n\n 学生信息管理系统\n\n");printf(" ***************** \n\n");printf(" * 制作人: * \n \n");printf(" ***************** \n\n");printf(" ********************* 系统功能菜单************************ \n"); printf(" 友情提醒:查询前请先刷新系统!\n");printf(" \n");printf(" ********************************************* \n");printf(" * 0. 系统帮助及说明* * 1. 刷新学生信息* \n");printf(" ********************************************* \n");printf(" * 2. 查询学生信息* * 3. 修改学生信息* \n");printf(" ********************************************* \n");printf(" * 4. 增加学生信息* * 5. 按学号删除信息* \n");printf(" ********************************************* \n");printf(" * 6. 显示当前信息* * 7. 保存当前学生信息* \n");printf(" ********************** ********************** \n"); printf(" 8. 退出系统\n"); printf(" **********************\n");printf("\n");printf(" 请选择菜单编号:");scanf("%d",&num);switch(num){case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(" 请在0-8 之间选择\n");}}二、学生成绩管理编写一个菜单驱动的学生成绩管理程序。
c语言程序设计及应用实例

c语言程序设计及应用实例(最新版)目录一、C 语言简介1.C 语言的发展历史2.C 语言的特点二、C 语言的基本语法1.数据类型2.运算符与表达式3.控制结构4.函数5.指针与内存管理6.数组、字符串与结构体三、C 语言程序设计实例1.计算器实例2.图书管理系统实例3.简易文本编辑器实例四、C 语言的应用领域1.系统编程2.嵌入式系统3.游戏开发正文一、C 语言简介C 语言是一种通用的高级编程语言,由 Dennis Ritchie 在 20 世纪 70 年代初在贝尔实验室开发。
C 语言的设计目标是为了简化 UNIX 操作系统的开发过程,提供一种能以简单、清晰、高效的方式编写操作系统及其应用程序的语言。
C 语言具有以下特点:1.语法简洁:C 语言的语法简单易懂,容易上手。
2.高性能:C 语言的执行速度接近汇编语言,可以满足对性能要求较高的应用程序的开发。
3.可移植性:C 语言程序可以在不同的硬件平台和操作系统上运行,只需少量或不需要修改。
4.强大的控制结构:C 语言提供了丰富的控制结构,可以实现各种复杂的逻辑控制。
二、C 语言的基本语法C 语言的基本语法包括数据类型、运算符与表达式、控制结构、函数、指针与内存管理、数组、字符串与结构体等。
1.数据类型:C 语言的数据类型包括整型、浮点型、字符型等基本数据类型,以及数组、指针、结构体、联合体等复合数据类型。
2.运算符与表达式:C 语言提供了各种算术、逻辑、位运算等运算符,以及条件表达式、逻辑表达式等。
3.控制结构:C 语言提供了顺序、分支、循环等控制结构,用于实现复杂的程序逻辑。
4.函数:C 语言中的函数是一段完成特定功能的代码,可以实现代码的模块化、重用。
5.指针与内存管理:C 语言提供了指针的概念,允许程序员直接操作内存,便于实现高效的数据结构和算法。
6.数组、字符串与结构体:C 语言提供了数组、字符串和结构体等数据结构,用于存储和管理数据。
三、C 语言程序设计实例以下是几个 C 语言程序设计的实例:1.计算器实例:实现一个简单的计算器,可以进行加、减、乘、除等运算。
c语言案例100例

c语言案例100例C语言是一种广泛应用于系统软件开发和嵌入式系统编程的高级编程语言。
它以其简洁、高效和可移植性而闻名,因此被广泛用于各种应用领域。
本文将为您介绍100个C语言案例,旨在帮助您更好地理解和运用C语言。
案例一:Hello World```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```这是C语言中最简单的程序,它会输出"Hello, World!"。
案例二:求和```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```这个程序会要求用户输入两个整数,然后计算并输出它们的和。
案例三:判断奇偶数```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数", num);} else {printf("%d是奇数", num);}return 0;}```这个程序会要求用户输入一个整数,然后判断它是奇数还是偶数,并输出相应的结果。
......(继续介绍更多的案例)通过以上100个C语言案例,您可以系统地学习和掌握C语言的各个方面。
每个案例都涉及不同的主题,从简单的Hello World程序到复杂的数据结构和算法,涵盖了C语言中的各种常见用法和技巧。
c语言程序设计应用实例

c语言程序设计应用实例C语言程序设计应用实例在计算机科学领域中,C语言是一种广泛应用的编程语言。
它简洁高效,可移植性强,适用于各种应用开发。
本文将介绍几个C语言程序设计的实际应用实例,展示C语言的强大功能和灵活性。
一、学生成绩管理系统学生成绩管理系统是学校教学管理的重要组成部分。
通过C语言程序设计,可以实现一个简单而实用的学生成绩管理系统。
该系统可以实现学生信息的录入、查询、修改和删除等功能。
通过定义结构体来存储学生信息,并利用文件操作实现数据的读取和存储。
通过编写相应的函数,可以实现对学生信息的增删改查操作。
这样的学生成绩管理系统可以大大提高学校教学工作的效率和准确性。
二、图书管理系统图书管理系统是图书馆管理的基础工具。
使用C语言程序设计,可以开发出一个功能完善的图书管理系统。
该系统可以实现图书信息的录入、查询、借阅和归还等功能。
通过定义结构体来存储图书信息,并利用链表来实现数据的组织和管理。
通过编写相应的函数,可以实现对图书信息的操作。
这样的图书管理系统可以提高图书馆的管理效率和服务质量。
三、简单计算器计算器是人们日常生活中常用的工具之一。
通过C语言程序设计,可以实现一个简单而实用的计算器。
该计算器可以进行基本的加减乘除运算,并支持括号的使用。
通过编写相应的函数,可以实现对输入表达式的解析和计算。
这样的计算器可以满足人们日常生活中的简单计算需求。
四、文件加密解密工具文件加密解密工具是保护个人隐私的重要手段。
通过C语言程序设计,可以实现一个简单而安全的文件加密解密工具。
该工具可以对文件进行加密和解密操作,并通过用户提供的密钥来保证数据的安全性。
通过编写相应的函数和算法,可以实现对文件内容的加密和解密。
这样的文件加密解密工具可以保护个人隐私和重要数据的安全。
五、网络聊天室网络聊天室是人们交流和社交的重要平台。
通过C语言程序设计,可以实现一个简单而实用的网络聊天室。
该聊天室可以实现用户的注册、登录、发送消息和接收消息等功能。
c语言项目案例

c语言项目案例C语言项目案例。
在学习C语言的过程中,很多人会感到枯燥和乏味,因为C语言作为一门结构化的程序设计语言,更多的是以算法和逻辑为主,缺乏实际的项目案例来练习和应用。
因此,本文将给大家介绍一些C语言项目案例,帮助大家更好地理解和应用C语言。
1. 学生成绩管理系统。
学生成绩管理系统是一个非常经典的C语言项目案例。
通过这个项目,你可以学习如何设计一个简单的学生成绩管理系统,包括学生信息的录入、成绩的输入和查询、成绩的统计和分析等功能。
这个项目涉及到文件操作、结构体的使用、指针的应用等内容,对于初学者来说是一个很好的练习项目。
2. 简单的图书管理系统。
图书管理系统是另一个很好的C语言项目案例。
通过这个项目,你可以学习如何设计一个简单的图书管理系统,包括图书信息的录入、借阅和归还功能、图书信息的查询和统计等功能。
这个项目涉及到文件操作、链表的应用、字符串处理等内容,对于提高学生的编程能力和综合运用C语言知识是非常有帮助的。
3. 简单的学生选课系统。
学生选课系统是另一个很好的C语言项目案例。
通过这个项目,你可以学习如何设计一个简单的学生选课系统,包括学生信息的录入、课程的添加和删除、学生选课和退课等功能。
这个项目涉及到文件操作、数组的应用、函数的设计等内容,对于提高学生的逻辑思维和编程能力是非常有帮助的。
4. 简单的学生信息管理系统。
学生信息管理系统是一个非常基础的C语言项目案例。
通过这个项目,你可以学习如何设计一个简单的学生信息管理系统,包括学生信息的录入、修改和删除、学生信息的查询和打印等功能。
这个项目涉及到文件操作、数组的应用、字符串处理等内容,对于初学者来说是一个很好的练习项目。
总结。
通过以上介绍的C语言项目案例,我们可以看到,C语言作为一门结构化的程序设计语言,可以应用到很多实际的项目中。
通过这些项目案例的学习和练习,我们不仅可以提高自己的编程能力,还可以更好地理解和应用C语言的知识。
因此,我建议大家在学习C语言的过程中,多多尝试一些实际的项目案例,这样可以更好地提高自己的编程能力和解决问题的能力。
C语言技术的实际应用场景及应用案例解析

C语言技术的实际应用场景及应用案例解析在当今信息技术高速发展的时代中,C语言作为一种广泛应用的编程语言,被广泛用于软件开发和嵌入式系统等领域。
本文将探讨C语言技术的实际应用场景,并通过解析一些应用案例来更加深入地理解C语言在各个领域的重要性和优势。
第一节:软件开发领域中的C语言应用在软件开发领域,C语言凭借其高效的性能和可移植性成为首选的编程语言之一。
下面我们将讨论一些C语言在软件开发中的应用场景和案例。
1. 操作系统开发C语言广泛应用于操作系统的开发中。
例如,Unix、Linux等操作系统的内核和设备驱动程序都是用C语言编写的。
C语言的底层访问能力和强大的指针操作使得它在开发高性能和高效率的操作系统方面占有重要地位。
2. 编译器和解释器开发C语言本身就是一种编译型语言,因此使用C语言开发编译器和解释器具有很高的可行性。
例如,GCC编译器就是用C语言编写的,它能够将C语言代码转换成可执行文件。
3. 数据库系统开发许多数据库系统,如MySQL、PostgreSQL等,都是使用C语言进行开发的。
C语言的高效和对底层资源的直接访问能力,使其成为实现高性能数据库系统的理想选择。
第二节:嵌入式系统中的C语言应用在嵌入式系统领域,C语言凭借其简洁的语法和可移植性,成为最流行的编程语言之一。
下面我们将探讨一些C语言在嵌入式系统中的应用场景和案例。
1. 微控制器开发很多微控制器和单片机的开发都使用C语言。
C语言的特性使得程序员可以方便地控制硬件资源,实现各种嵌入式系统的功能。
例如,Arduino开发板上的程序就是用C语言编写的。
2. 嵌入式系统驱动程序开发C语言被广泛应用于嵌入式系统的驱动程序开发中。
驱动程序负责控制硬件设备的底层操作,与硬件进行交互。
C语言通过指针操作和底层访问能力,使得编写驱动程序变得更加灵活和高效。
3. 嵌入式系统中的实时任务许多嵌入式系统需要同时处理多个实时任务。
C语言提供了多线程和多进程的支持,可以很方便地实现实时任务的调度和并发执行。
C语言技术的实际应用案例及使用技巧

C语言技术的实际应用案例及使用技巧C语言是一门广泛应用于计算机科学领域的编程语言,具有高效、灵活和可移植等特点。
它被广泛应用于操作系统、嵌入式系统、游戏开发等领域。
本文将介绍一些C语言技术的实际应用案例,并分享一些使用技巧。
一、嵌入式系统开发嵌入式系统是指嵌入到其他设备或系统中的计算机系统,它通常具有实时性要求和资源受限的特点。
C语言在嵌入式系统开发中得到了广泛应用。
例如,我们可以使用C语言编写驱动程序来控制硬件设备,如传感器、显示屏等。
此外,C语言还可以用于编写嵌入式操作系统,如uC/OS等。
在嵌入式系统开发中,我们需要注意内存管理和低功耗优化等方面的技巧,以确保系统的稳定性和效率。
二、操作系统开发C语言是操作系统开发的主要语言之一。
操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源。
C语言提供了对底层硬件的访问和控制的能力,使得开发人员可以方便地编写操作系统的各个模块。
例如,我们可以使用C语言编写内核模块,负责处理中断、调度任务等。
此外,C语言还可以用于编写文件系统、驱动程序等。
三、游戏开发C语言在游戏开发中也有着重要的应用。
游戏是计算机图形学和计算机动画的重要应用领域,而C语言是图形学和动画编程的主要语言之一。
我们可以使用C语言编写游戏引擎,处理游戏逻辑、图形渲染等。
此外,C语言还可以用于编写游戏的物理引擎、碰撞检测等关键模块。
四、使用技巧1. 指针的灵活运用指针是C语言中的重要概念,灵活运用指针可以提高程序的效率和可读性。
例如,我们可以使用指针传递参数,减少函数调用时的内存开销。
此外,指针还可以用于动态内存分配和管理,避免内存泄漏和溢出的问题。
2. 优化算法和数据结构在C语言编程中,优化算法和数据结构是提高程序性能的关键。
例如,我们可以使用二分查找代替线性查找,以提高搜索效率。
此外,选择合适的数据结构,如数组、链表、树等,可以提高程序的存储和访问效率。
3. 错误处理和调试技巧在C语言编程中,错误处理和调试是必不可少的技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("Openfile%serror!Strikeanykeytoexit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s%s%d%s%s%s%s%s",stu[i].code,stu[i].name,&stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
C语言综合应用实例
一、学生信息管理系统
#include<stdio.h>/*I/O函数*/
#include<stdlib.h>/*其它说明*/
#include<string.h>/*字符串函数*/
#defineBUFLEN100/*缓冲区最大字符数*/
#defineLEN15/*学号和姓名最大字符数,实际请更改*/
strcpy(stu[j].mail,temp);
p=&stu[j-1].age;
q=&stu[j].age;
s=*q;
*q=*p;
*p=s;
}
}
}
voidinsert()/*插入函数*/
{
inti=n,j,flag;
printf("请输入待增加的学生数:\n");
scanf("%d",&m);
do
case5:
printf("请输入新的地址:\n");
scanf("%s",s2);
strcpy(stu[num].add,s2);break;
case6:
printf("请输入新的电话号码:\n");
scanf("%s",s2);
strcpy(stu[num].tel,s2);break;
case7:
{
case1:
printf("请输入要查询的学生的学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
{
flag=1;
printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");
printf("--------------------------------------------------------------------\n");
chartemp[10];
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
if(strcmp(stu[j-1].code,stu[j].code)>0)
{
strcpy(temp,stu[j-1].code);
strcpy(stu[j-1].code,stu[j].code);
scanf("%s",stu[i].sex);
printf("请输入第%d个学生的出生年月:(格式:年.月)\n",i+1);
scanf("%s",stu[i].time);
printf("请输入第%d个学生的地址:\n",i+1);
scanf("%s",stu[i].add);
printf("请输入第%d个学生的电话:\n",i+1);
case2:
printf("请输入要查询的学生的姓名:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].name,s1)==0)
{
flag=1;
printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");
printf("--------------------------------------------------------------------\n");
scanf("%d",&item);
switch(item)
{
case1:
printf("请输入新的姓名:\n");
scanf("%s",s2);
strcpy(stu[num].name,s2);break;
case2:
printf("请输入新的年龄:\n");
scanf("%d",&stu[num].age);break;
printf("%6s%7s%6d%5s%9s%8s%10s%14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
}
if(flag==0)
printf("该姓名不存在!\n");break;
}
if(flag==0)
printf("该学号不存在!\n");
if(flag==1)
{
printf("删除成功,显示结果请选择菜单6\n");
n--;
}
}
voiddisplay()
{
inti;
printf("所有学生的信息为:\n");
printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");
voidsave();
voidmewhile(k)
menu();
system("pause");
return0;
}
voidhelp()
{
printf("\n0.欢迎使用系统帮助!\n");
printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
printf("\n2.按照菜单提示键入数字代号;\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
flag=1;
break;/*如有重复立即退出该层循环,提高判断速度*/
}
}
printf("请输入第%d个学生的姓名:\n",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生的年龄:\n",i+1);
scanf("%d",&stu[i].age);
printf("请输入第%d个学生的性别:\n",i+1);
strcpy(stu[j].sex,temp);
strcpy(temp,stu[j-1].time);
strcpy(stu[j-1].time,stu[j].time);
strcpy(stu[j].time,temp);
strcpy(temp,stu[j-1].add);
strcpy(stu[j-1].add,stu[j].add);
chartel[LEN+1];/*电话号码*/
charmail[30];/*电子邮件地址*/
}stu[N];
intk=1,n,m;/*定义全局变量*/
voidreadfile();/*函数声明*/
voidseek();
voidmodify();
voidinsert();
voiddel();
voiddisplay();
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)/*比较字符串是否相等*/
num=i;
printf("------------------\n");
printf("1.修改姓名\n");
printf("2.修改年龄\n");
printf("3.修改性别\n");
printf("4.修改出生年月\n");
printf("5.修改地址\n");
printf("6.修改电话号码\n");
printf("7.修改E-mail地址\n");
printf("8.退出本菜单\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
{
i++;
i=i;
}
fclose(fp);