| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖
标题:一道C的综合体错误百出,无能为力,求高手指点...
取消只看楼主 加入收藏
月下人静
Rank: 1
来 自:安徽宿州市
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-1-30
结帖率:50%
收藏
 问题点数:0 回复次数:1 
一道C的综合体错误百出,无能为力,求高手指点...
实验内容
编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。
实验步骤

1.写程序显示如下菜单
1. 插入           (插入一个数据)
2. 删除           (删除一个数据)
3. 排序           (排序)
4. 输出           (输出表中所数据)
0. 退出           (退出程序)

2. 用输入函数输入菜单选择的数字(0-4)对其他输入要提示错误信息流程控制结构如图1所示。

3.顺序表的数据类型自选,可以先使用基本类型,在此基础上修改使用结构体类型。

4.每个功能模块要求用函数实现。

5.在菜单中增加“写入文件”和“读取文件”选项,能将顺序表中的数据写入文件和从文件读取数据。

6.(选做)使用链表来实现。


我的程序:

#include <stdio.h>
#include <stdlib.h>
#define N 100;

void Insert(char a[N]);
void Delete(char a[N]);
void Order (char a[N]);

int main(void)
{
    char a[N] = {0};
   
    printf("1. 2åèë\t\t(2åèëò»¸öêy¾Y)\n")    ;
    printf("2. é¾3y\t\t(é¾3yò»¸öêy¾Y)\n")    ;
    printf("3. ÅÅDò\t\t(ÅÅDò)\n")             ;
    printf("4. êä3ö\t\t(êä3ö±íÖDËùóDêy¾Y)\n");
    printf("0. íË3ö\t\t£¨íÆ3ö3ìDò£©\n")         ;
    putchar(10)                                 ;
                        
    for(; ;)
    {
        printf("Please input the command: ");
        scanf("%d", &command)                ;
        if(command == 0 || command == 1 || command == 2 || command == 3 || command == 4)
            break;
        else
            printf("Error\n");
    }
   

    switch(command)
    {
        case 0: Exit     ;    break;
        case 1: Insert(a);    break;
        case 2: Delete(a);    break;
        case 3£oOrder (a);    break;
        case 4: Output(a);    break;
    }
   
    return 0;
}

void Insert(char a[N])
{
    int pla                             ;
    printf("Input the place: ")         ;
    scanf("%d", &pla)                 ;
    printf("Input the information: ");
    scanf("%c", (a + pla))             ;
}

void Delete(char a[N])
{
    int pla                       ;
    printf("Input the place: ");
    scanf("%d", &pla)           ;
    a[pla] = 0                   ;
}

void Order(char a[N])
{
    int i, j;
    char tem;
   
    for(i = N; i > 0; i--)
    {
        for(j = 0; j < (N + 1); j++)
        {
            if(strcmp(&a[i - 1 - j], &a[i - 2 - j]) < 0)
            {
                tem          = a[i - 1 - j];
                a[i - 1 - j] = a[i - 2 - j];
                a[i - 2 - j] = tem           ;
            }
        }
    }
}

void Output(char a[N])
{
    int i;
   
    for(i = 0; i < N; i++)
    {
        printf("%c\n", a[i]);
    }
}

void Exit(void)
{
    exit(0);
}
搜索更多相关主题的帖子: 数据 应用程序 结构体 
2012-05-28 17:10
月下人静
Rank: 1
来 自:安徽宿州市
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-1-30
收藏
得分:0 
乱码的地方是汉字= =。
2012-05-28 17:11
快速回复:一道C的综合体错误百出,无能为力,求高手指点...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022044 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved