C语言课程设计

发布 2022-09-30 18:50:28 阅读 5851

华北水利水电学院。

课程设计报告书。

2012——2013学年。

第二学期。环节名称: 高级语言课程设计(c语言)

专业班级: 信息与计算科学专业165班

姓名孙志攀。

学号201216511

院、系数学与信息科学学院

指导教师海燕。

1. 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①求最小数、最大数的位置 ;②进行对换处理③主函数。

程序源**:

#include<>

void ptin(int*p,int n)

int i;

printf("请输入%d个整数:",n);

for(i=0;i}

void pr(int*p,int n)

int i,*max,*min;

max=min=p;

for(i=1;i

i=*min;*min=*p;*p=i;

i=*max;*max=*(p+n-1);*p+n-1)=i;

void ptout(int*p,int n)

int i;

printf("输出%d个数:",n);

for(i=0;iprintf("");

void main()

int a[10];

ptin(a,10);

printf("处理前");

ptout(a,10);

pr(a,10);

printf("处理后");

ptout(a,10);

2. 将一组字符串按字典顺序输出。(通过函数调用完成)

程序源**:

#include<>

#include<>

void paixu(char *a,int n)

int i,j;

char *b;

for (i=0;i

void main ()

int i,n=10;

char c[10][20];

char *t[10];

printf("请输入十个字符串:")

for(i=0;i

paixu (t,n);

printf("按字典顺序排列,结果为: "

for(i=0;i printf("%s ",t[i]);

printf("");

3. 有两个链表a和b,结点中包含学号和姓名。编写函数delete,从a链表中删去与b链表中有相同学号的结点。

程序源**:

#include <>

#include <>

#define n 3

typedef struct student

int num;

char name[20];

struct student *next;

stu; stu *create()

int i;

stu *p,*head=null,*tail=head;

for (i=0;i

if(head==null)

head=p;

else tail->next=p;

tail=p;

return head;

void output(stu *p)

while (p!=null)

stu *del(stu *a,stu *b)

stu *head,*p1,*p2;

p1=p2=head=a; /让p1、p2、head结点指向链表a的头部

while (b!=null)

return head;

int main(int argc, char *ar**)

stu *a,*b,*c;

printf("请输入链表a的信息格式(学号姓名):");

a=create();

printf("请输入链表b的信息格式(学号姓名):");

b=create();

c=del(a,b);

printf("经过删除后,a链表信息为:");

output(c);

return 0;

程序的运行结果(i/o窗口截图)

选做题。任选其一)

一、 需求分析。

设计一个**簿管理系统,使之提供以下功能:

(1) 新建信息功能。

(2) 查询信息功能。

(3) 添加信息功能。

(4) 修改信息功能。

(5) 删除信息功能。

需求说明:1) **信息包括姓名(规定字节数为15)、**号码(规定字节数为15)和工作单位(最大字节数为30)等信息。

2) 录入的信息要求存入文件,并可以通过读取数据文件进行查询、修改、删除等基本操作。

3) 对**簿中的信息应能够分别按序号和姓名两种方式进行查询,并返回所有符合条件的信息。

4) 修改、删除、添加等操作要求可以按照序号和姓名两种方式进行,并返回操作后的信息。

5) 所设计的通讯系统要求以菜单方式工作,为用户提供清晰的使用提示,根据用户的选择进行各种处理。

6) 需设计主控制菜单程序(menu()函数),实现菜单选择模块。

7) 该系统中的各个子功能均需通过相应的自定义函数进行实现。

二、 总体设计。

初步提出解决方案,以及系统的体系结构和数据结构的设计方案,并写出书面总体设计说明书。

1)设计主控制菜单程序(menu()函数),实现菜单选择模块。

输出功能菜单(包括新建、读取文件、添加、查询、修改、删除、浏览、排序等)。

按提示信息选择功能菜单,并输出返回值。

2)设计new()函数,实现新建数据文件功能。

3)设计load()函数,实现文件读取功能,若文件不存在,则返回new(),进入新建数据文件。

4)设计add()函数,实现信息添加功能,分别录入序号、姓名、**和工作单位。若序号已存在,则重新输入。

5)设计qur()函数,实现信息查询功能,通过设计提示菜单,实现按序号和姓名两种方式查询。

6)设计modify()函数,实现信息修改功能,在修改前,首先显示所有信息,然后通过序号实现修改。

7)设计del()函数,实现信息删除功能,通过设计提示菜单,实现序号和姓名两种方式进行删除。

8)设计sort()函数,实现信息排序功能,通过设计提示菜单,实现按序号和姓名两种方式进行排序。

9)设计disp()函数,实现信息浏览功能。

10)设计s**e()函数,实现信息保存功能,将新建或读取的文件,在退出程序后进行保存。

三、 详细设计给出主要流程图。

1)系统功能模块图:

主菜单。新建文件。

读取文件。添加通讯录。

查询通讯录。

修改通讯录。

删除通讯录。

排序通讯录。

浏览通讯录。

新建:可以新建文件,新建文件自己输入文件名字。txt。

读取:通过成功读取可以在文件中实现以下功能。

添加:可以添加通讯录,依次输入序号、姓名、**、工作单位,会提示推出。

查询:可以选择用序号、姓名的方式查询。

修改:输入欲修改的那个人的信息,通过输入序号和姓名来修改通讯录信息。

删除:输入欲删除的那个人的序号或姓名,来删除信息。

排序:可以通过序号排序,或者通过姓名的拼音排序来排序。

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...