C语言课程设计

经过几个星期的努力,通过对c语言的学习,终于将课程设计完成。这中间也少不了前辈和百度的指导 

写课程设计初,我当然也是一筹莫展,没有一丢丢思路。但是嘞,我经过看前辈写的代码和百度,知道了大概的思路于是开始了我的课程设计

首先我先是由简入蘩,先把牌面写出来了(23333,难得实在麻烦,还有个爱心呦),首先要把每一项功能构思好,到后来再补充。基本的主线思路要有。

这个应该是最简单的过程了不多说 开始下一项


目录出来了,下面把选择写出来

简单的选择功能,当你输入的数不在菜单内是将会提示出错,用do while 进行,然后主体就是switch-case 将选择程序写了出来,这样就有了一个顺序,于是我开始一个一个功能向下进行。

接下来我将最重要的结构体打了出来,由于我写的是学生信息管理系统,因此也就没有什么求平均分了,但是排序还是要考察的,结构体中应注意这些字符串当信息进行传递时用的是=还是strcpy,向其中传入信息又应该怎么传,这个就不用多说了

接下来就是建立动态链表,我基本是根据书的内容,进行改动,搬过来的(首先还是要理解的),书上的方法也是构建动态链表的基本套路。先建立一个空间来存储信息,让开辟的空间等于你需要的空间,然后将表头带着其后的数据输入。在结束时应输入0.当然这里面也有许多可以节省的方法比如在输入信息时,完全可以再构建一个函数,因为在还未出现的各种功能中,大多数需要输入信息,我这个也是我的初代版本,有很多地方可以简化。通过malloc创建一个空间,比较基础的构建链表的方式。

通过这个函数已经足够将信息输入了。

下面的操作修改学生信息 首先按照学号查找信息,链表是一串信息,我通过查找表头即可获得接下来的一系列信息。

删除 先通过表头查询相应的数据,通过free函数释放空间

刚开始在写查找程序的时候,无意中把内容会删掉。后来虽然是试出来的哪里错了

但是也发现了不足。通过调出表头,将后面的内容调出

简书写完总感觉少了什么,才发现排序这个过程居然忘打上去了,。

我用的排序方法思路比较清楚,先将第一个当做最小的,然后通过for循环的嵌套进行比较和更换注意字符串的copy不是=。可以说这个方法是简单粗暴。

增添,我这个与1过程相似,基本是相同的思路。


存于文件,fwrite为二进制存取 在记事本中会出现乱码的情况,可通过使用fprinft。

里面有一个过程是比较常见的了 for循环 从表头开始将后面的内容存入文件

这个功能是后来补加的找学长验课程设计的时候,学长给出的一些建议,将内容存于文件的目的就是为了读取,因此后来将这个功能也是补了出来
void duqu(struct student *head)

{

    struct student *pt,*p1;

    FILE *fp;

    head=NULL;

    p1=pt=(struct student*)malloc(sizeof(struct student));

    if((fp=fopen("C:\\informatin.txt","rb"))==NULL)

    {

        printf("打开文件失败\n");

        return;

    }

    while(!feof(fp))

    {

        if(fread(pt,sizeof(struct student),1,fp)!=1)

        {

            free(pt);

            break;

        }

        else

        {

            printf("\t学号为:%d\n",p1->num );

printf("\t姓名为:%s\n",p1->name );

            printf("专业:%s\n",p1->specialty);

            printf("生日: %d\n",p1->birthday);

            printf("住址: %s\n",p1->address);

            printf("成绩: %d\n",p1->score);

        }

        if(head==NULL)

        {

            head=pt;

        }

        else{

            p1->next=pt;

        }

        p1=pt;

        pt=(struct student*)malloc(sizeof(struct student));

    }

    pt=NULL;

    free(pt);

    fclose(fp);

}

课程设计中的一些问题

一.出现 error:conflicting types for XXX

原因一:

原来是因为没有先做函数声明,而函数位于main()之后。

在main函数前声明了函数原型后,一切ok.

原因二:

头文件的被循环引用,在引用时考虑清楚包含顺序

原因三:

头文件声明和定义参数稍有不同

最终我将结构体至之前的目录 等等全部移到最后 使问题解决

二. 'p1' undeclared (first use in this function)|

“p1”未声明(在这个函数中首次使用)

p1在使用时发现看似相同实际不一样

我通过将首个p1为标准 后面通过复制粘贴替换 使问题解决

关于课程设计中的赋值

三       今天在写课程设计的修改这一环节中出现了error: assignment to expression with array type,出现了这样一种复制错误,原因是因为,在给字符串赋值时使用“=”进行赋值。

        于是我总结了字符串赋值的方法

1. 字符串数组不能用"="直接赋值, 即s="Good News!"是不合法的。所以应分 

清字符串数组和字符串指针的不同赋值方法。 

2. 对于长字符串, Turbo C2.0同意使用下述方法: 

比如: 

main() 

char s[100]; 

strcpy(s, "The writer would like to thank you for" 

"your interest in his book. He hopes you" 

"can get some helps from the book."); 

3.指针数组赋值

比如: 

main() 

char *f[2]; 

int *a[2]; 

f[0]="thank you"; /*给字符型数组指针变量赋值*/ 

f[1]="Good Morning"; 

*a[0]=1, *a[1]=-11; /*给整型数数组指针变量赋值*/ 

4.不管是静态,局部还是全局数组仅仅有在定义时才干初始话,否则必须通过其他方法,比方循环操作实现。

不论什么

int a[3];

static int b[3];

a[3] = {1, 2, 3};

b[3] = {1, 2, 3};

没有在定义时初始化都是错误的!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容