鱼C论坛

 找回密码
 立即注册
查看: 3871|回复: 39

请帮忙改下程序,输出以ABCD排列

[复制链接]
发表于 2016-7-12 17:01:54 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 晚起鸟儿 于 2016-7-13 03:46 编辑

#include<stdio.h>
#include<conio.h>
char one,two;

float num1, num2;
int main(){
  scanf("%c%f%c%f",&one,&num1,&two,&num2);
if(one=='A')
{
  printf("%c%f%c%f\n",one,num1,two,num2);  
}
else if(one=='B')
{
  printf("%c%f%c%f\n",two,num2,one,num1);
}
getch();
},three,four
以上为输入两个大写字母A和B,(输入不以字母顺序输入)字母后面各附带一个实数,
输出结果以AB及后面带的数值排列~

我想弄成可以随机输入1-4个字母及对应实数,只能输入A,或者输入A,B或者输入A,B,C或者输入A,B,C,D,
(输入不以字母顺序输入)每个字母后面各有一个实数,输出结果按字母表顺序输出,
并且字母后面带的实数跟在字母后面,比如保持num1在one后面,num4在four后面

最佳答案

查看完整内容

这是根据你的要求写的。 # include # include # include # define NUM 20 struct ljd //定义一个存放 字母和数字的结构 { char letter; double number; }; int main() { struct ljd *pf[NUM] = {NULL}; //声明多个指向结构体的指针用于指向保存输入的数据 struct ljd *temp; // 声明一个临时的指针用于指针的交换 char buf[256]; ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-12 17:01:55 | 显示全部楼层
这是根据你的要求写的。
# include <stdio.h>
# include <ctype.h>
# include <stdlib.h>
# define NUM 20
struct ljd              //定义一个存放 字母和数字的结构
{
        char letter;
        double number;
};
int main()
{
        struct ljd *pf[NUM] = {NULL};  //声明多个指向结构体的指针用于指向保存输入的数据
        struct ljd *temp;                 // 声明一个临时的指针用于指针的交换
        char buf[256];                   //  用于接受原始码
        int i = 0;                           // 循环计数
        int k = 0;                          // 循环计数
        int j = 0;                           // 循环计数
        char TempString[20];        // 临时字符串,用于从原始码中取出的字符串的存放
        char TempChar;               // 临时字符,用于从原始码中取出的字符的存放
        double TempNum = 0.0;  // 临时变量,用于把字符串转换成数字


        printf ("请输入原始码:");
        gets(buf);                //接受所有输入的

        while(buf[i] != '\0')       //循环查找字母和数字,并分开提取
        {
                if (isalpha(buf[i]))  // 如果是字母,则 开辟一个结构体内存,用于保存字母和数据
                {
                        TempChar = buf[i];
                        pf[j] = (struct ljd *)malloc(sizeof(struct ljd));
                        pf[j]->letter = TempChar;     // 这里保存的是字母
                        i++;
                }
                else                                   /* 如果是数字,则开始循环查找这个数字的结尾(只到另一个字母)*/
                {
                        while (!isalpha(buf[i+k]) && buf[i+k] != '\0')
                        {
                                TempString[k] = buf[i+k];
                                k++;
                        }
                        TempString[k] = '\0';  //到这里,提取的数字还是字符串,所以下面要有atof()转换成数字
                        TempNum = atof(TempString);
                        pf[j]->number = TempNum;
                        j++;
                        i += k;

                }
               
                k = 0; // 循环结束时,要把k清零,以便下一次查找数字是从0开始循环
        

               
        }
        for (i = 0;i < j;i++)    // 这里是给保存的结构数据按字母从小到大排列
        {
                for (k=i+1;k < j;k++)
                {
                        if (pf[i]->letter > pf[k]->letter)
                        {
                                temp = pf[i];
                                pf[i]= pf[k];
                                pf[k] = temp;
                        }
                }

        }



        for (i = 0;i < j;i++)  // 正常循环输出
        {
                printf ("%c %.2lf  ",pf[i]->letter,pf[i]->number);
                free(pf[i]);
                pf[i] = NULL;
        }

        printf("\n");
        system("pause");

        return 0;
}

评分

参与人数 1荣誉 +1 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 1 + 5 + 1 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-12 22:23:28 | 显示全部楼层
不理解题意
假如我输入的是
c 1.2 e 2 会输出什么
r 9 w 2.4 t 3 g 0.0 会输出什么?
话说,我这样输入对吗?
如果对那输出是
c 1 e 2
g 0 r 9 t 3 w 2
吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-13 03:45:33 | 显示全部楼层
人造人 发表于 2016-7-12 22:23
不理解题意
假如我输入的是
c 1.2 e 2 会输出什么

当然不行,首先是大写字母,而且只能是A,或者输入A,B或者输入A,B,C或者输入A,B,C,D(输入不以字母顺序输入)其他显示“输入有误,请重新输入”就行了~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-13 09:22:44 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<conio.h>
  3. int main(){
  4.     char charity[5]="ABCD";
  5.     float number[4];
  6.     scanf("%f%f",number,number+1);
  7.     if(number[0]<number[1])
  8.     {
  9.     printf("%c%f%c%f\n",charity[0],*number,charity[1],*(number+1));
  10.     }
  11.     else
  12.     {
  13.     printf("%c%f%c%f\n",charity[1],*(number+1),charity[0],*number);
  14.     }
  15.     getch();
  16.             }
复制代码

只输入数字,不输入字母
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-13 09:58:53 | 显示全部楼层
晚起鸟儿 发表于 2016-7-13 03:45
当然不行,首先是大写字母,而且只能是A,或者输入A,B或者输入A,B,C或者输入A,B,C,D(输入不以字母顺序输 ...

这样?
A 2.3 C 4.1 D 5.0
B 1.1
D 4.4 A 1.3 C 4.0
输出
A 2.3 C 4.1 D 5.0
B 1.1
A 1.3 C 4.0 D 4.4
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-13 12:18:35 | 显示全部楼层
人造人 发表于 2016-7-13 09:58
这样?
A 2.3 C 4.1 D 5.0
B 1.1

对呀,这正是我想要的结果,随机输入的哦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-13 12:26:41 | 显示全部楼层
小剑剑 发表于 2016-7-13 09:22
只输入数字,不输入字母

这样的不行哦,而且只能比较前两个数,但代码写得很简练
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 00:10:50 | 显示全部楼层
晚起鸟儿 发表于 2016-7-13 12:18
对呀,这正是我想要的结果,随机输入的哦
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <windows.h>

  4. #define MAX_BUFF_LEN 100 // 输入不能超过 50 个字符
  5. #define ALPHABET_NUM 4 //字母个数,在这里是4,即 A B C D  




  6. /* real_num_str_len
  7.         参数 str :  包含有实数的字符串(实数前面可以有空格)
  8.        
  9.         返回值 :
  10.                 -3  (一个很长的实数 )
  11.                 -2 (实数前面空格太多 )
  12.                 -1 (字符串中是有实数,但是字符串以字母开始)
  13.                
  14.          函数返回 : 实数字符串的长度(实数前面可以有空格)
  15.         举个例子
  16.         字符串 "      123.45000   90.0"  函数返回  15 (从一开始到123.45000 ,0后面)
  17.         字符串 " 54.3   abc"  函数返回  5 (从一开始到54.3, 3后面)
  18.         如果字符串不是 实数字符串
  19.         例如 字符串 "a 123.30" 字符串中是有实数,但是字符串以字母开始,所以不算,这种情况返回 -1

  20. */
  21. int real_num_str_len(char const *str)
  22. {
  23.         int ret = 0;
  24.         int decimal_point_flag = 0; //小数点标志
  25.         int ret_bak = 0;
  26.        
  27.         while(*str == ' ')
  28.         {
  29.                 ret++;
  30.                 if(ret >= 100) // 实数前面空格太多,继续下去可能会死循环
  31.                 {
  32.                         return -2;
  33.                 }
  34.                 str++;
  35.         }
  36.        
  37.         ret_bak = ret; // 备份ret
  38.         while(1)
  39.         {
  40.                 if( (*str < '0') || (*str > '9') )
  41.                 {
  42.                         switch(*str)
  43.                         {
  44.                                 case '+' :
  45.                                 case '-' :
  46.                                         break;
  47.                                        
  48.                                 case '.' :
  49.                                        
  50.                                         if(decimal_point_flag == 1) // 已经有一个小数点了,现在又有一个,就在这里结束吧
  51.                                         {
  52.                                                 return ret;
  53.                                         }
  54.                                         else
  55.                                         {
  56.                                                 decimal_point_flag = 1;
  57.                                         }
  58.                                        
  59.                                         break;
  60.                                        
  61.                                 default :
  62.                                         return ret;
  63.                                                        
  64.                         }
  65.                 }
  66.                
  67.                 ret++;
  68.                 str++;
  69.                
  70.                
  71.                 if(ret - ret_bak > 50) // 一个很长的实数,报错吧
  72.                 {
  73.                         return -3;
  74.                 }
  75.         }
  76.        
  77. }

  78. int str_handler(char *buff)
  79. {
  80.        
  81.         char *str_temp[ALPHABET_NUM];
  82.         int block_len = 0; // 一个字符和字符后面的实数分成一个块
  83.         int i = 0;
  84.         int j = 0;
  85.         char *new_buff = NULL;
  86.         int blank_space = 0;
  87.         int blank_count = 0;
  88.        
  89.         while(1) // 检查字符串,并把字符串分成块放在 str_temp
  90.         {
  91.                
  92.                 while(buff[i] == ' ') // 去掉每个块前面的空格
  93.                 {
  94.                         blank_space++;
  95.                         if(blank_space >= 100) // 块前面空格太多,继续下去可能会死循环
  96.                         {
  97.                                 return -3;
  98.                         }
  99.                         i++;
  100.                 }
  101.                
  102.                 switch(buff[i])
  103.                 {
  104.                         case '\n' :
  105.                                 goto next;
  106.                                
  107.                                
  108.                         case 'A' : // no break
  109.                         case 'B' : // no break
  110.                         case 'C' : // no break
  111.                         case 'D' :
  112.                                
  113.                                 block_len = real_num_str_len(&buff[i + 1]);
  114.                                 if(block_len < 0)
  115.                                 {
  116.                                         return -1;
  117.                                 }
  118.                                 block_len++; // 指向下一个块
  119.                                
  120.                                 new_buff = malloc(block_len + 1);
  121.                                 if(new_buff == NULL) // 无法申请内存
  122.                                 {
  123.                                         return -2;
  124.                                 }
  125.                                
  126.                                 strncpy(new_buff, &buff[i], block_len);
  127.                                 *(new_buff + block_len) = '\0';
  128.                                 str_temp[blank_count] = new_buff;
  129.                                
  130.                                 break;
  131.                        
  132.                         default : return -1;
  133.                 }
  134.                
  135.                 i += block_len;
  136.                 blank_count++;
  137.                
  138.                 if(buff[i] == '\n') // 已经确定字符串没有问题,并且字符串已经按块放在 str_temp
  139.                 {
  140.                         break;
  141.                 }
  142.         }
  143. next:       
  144.         // 下面开始排序


  145.         for(i = 0; i < blank_count - 1; i++)
  146.         {
  147.                 for(j = 0; j < blank_count - i - 1; j++)
  148.                 {
  149.                         if(str_temp[j][0] < str_temp[j + 1][0])
  150.                         {
  151.                                 char *temp = str_temp[j];
  152.                                 str_temp[j] = str_temp[j + 1];
  153.                                 str_temp[j + 1] = temp;
  154.                         }
  155.                 }
  156.         }               

  157.        
  158.         //排序完成,现在把str_temp 复制到 buff 就真的完事了
  159.        
  160.         *buff = '\0';
  161.         for(i = blank_count - 1; i >= 0; i--)
  162.         {
  163.                 strcat(buff, str_temp[i]);
  164.                 strcat(buff, " "); // 在两个块之间加入空格
  165.                 free(str_temp[i]); // 释放通过 malloc 申请的内存
  166.         }

  167.        
  168.         return 0;
  169. }

  170. int main(void)
  171. {
  172.         char buff[MAX_BUFF_LEN];
  173.        
  174.        
  175.         printf("请输入:");
  176.         while(1)
  177.         {
  178.                 fgets(buff, MAX_BUFF_LEN, stdin);
  179.                
  180.                 if(str_handler(buff) == 0) //str_handler 返回0 表示字符串没有问题,并且已经排序
  181.                 {
  182.                         break;
  183.                 }
  184.                
  185.                 printf("输入有误,请重新输入:");
  186.         }
  187.        
  188.         printf("%s\n", buff);
  189.        
  190.        
  191.         system("pause");
  192.         return 0;
  193. }
复制代码


无标题.png 无标题1.png 无标题2.png

评分

参与人数 1荣誉 +1 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 1 + 5 + 1 程序好长,辛苦了~

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-14 06:17:13 | 显示全部楼层

vc6.0运行好多报错,请问是不是需要用高些的版本运行,或者您是用VS?
错.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 11:49:34 | 显示全部楼层
首先肯定一点,与编译器无关,另外你的疑问应该是设计一个程序,可以做到排序功能,这个会涉及到冒泡算法,以后会在鱼c视频里面学到,所以可以先不急
另外如果要实现排序,或比较,最好是将内存储存的数据对掉,而不是更改输出(printf)的顺序,举个例子
char ch1, ch2, ch3, ch4;
scanf("%c%c%c%c",&ch1,&ch2,&ch3,&ch4,);//随机输入例如DBCA
if(...........)
{
     .........................//算法代码段,用于将&ch1,&ch2,&ch3,&ch4的内容换成ABCD
}
printf("%c%c%c%c\n",ch1, ch2, ch3, ch4);//显示器输出ABCD,输出顺序是不应该改变的,
也不确定你是否理解,以为我之前看你的思路是改变输出顺序,而没有想其实应该改变储存顺序才对
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 12:34:04 | 显示全部楼层
晚起鸟儿 发表于 2016-7-14 06:17
vc6.0运行好多报错,请问是不是需要用高些的版本运行,或者您是用VS?

#include <stdlib.h>
加上这个,我是用 c-free 不加 #include <stdlib.h> 也能啊
你加上这个试试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-14 14:32:07 | 显示全部楼层
人造人 发表于 2016-7-14 12:34
#include
加上这个,我是用 c-free 不加 #include  也能啊
你加上这个试试

加了还是报错
D:\Microsoft Visual Studio\MyProjects\tiao\tiao.c(29) : error C2084: function 'int __cdecl real_num_str_len(const char *)' already has a body
D:\Microsoft Visual Studio\MyProjects\tiao\tiao.c(84) : error C2084: function 'int __cdecl str_handler(char *)' already has a body
D:\Microsoft Visual Studio\MyProjects\tiao\tiao.c(181) : error C2084: function 'int __cdecl main(void )' already has a body
执行 cl.exe 时出错.

程序好复杂,看不懂的说,辛苦了~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-14 15:02:59 | 显示全部楼层
donkkong 发表于 2016-7-14 11:49
首先肯定一点,与编译器无关,另外你的疑问应该是设计一个程序,可以做到排序功能,这个会涉及到冒泡算法, ...

if(......)最后一个不用判断也有十二种可能呀,当然这样比较直观,但是代码量还要冗长得多……

我的想法是设定A>B>C>D,然后查找这四个字母的位置,按从小到大顺序排列,不知是否要用到ascll码,
具体怎样写也弄不来呀~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 15:29:21 | 显示全部楼层
晚起鸟儿 发表于 2016-7-14 14:32
加了还是报错
D:\Microsoft Visual Studio\MyProjects\tiao\tiao.c(29) : error C2084: function 'int _ ...

c-free 下没有问题,vs2015 下也没有问题,
你好像是多写了一份,把现在的程序删除(如果需要,请备份),重新复制这个
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <windows.h>
  4. #include <stdlib.h>

  5. #define MAX_BUFF_LEN 100 // 输入不能超过 50 个字符
  6. #define ALPHABET_NUM 4 //字母个数,在这里是4,即 A B C D  




  7. /* real_num_str_len
  8.         参数 str :  包含有实数的字符串(实数前面可以有空格)
  9.         
  10.         返回值 :
  11.                 -3  (一个很长的实数 )
  12.                 -2 (实数前面空格太多 )
  13.                 -1 (字符串中是有实数,但是字符串以字母开始)
  14.                
  15.          函数返回 : 实数字符串的长度(实数前面可以有空格)
  16.         举个例子
  17.         字符串 "      123.45000   90.0"  函数返回  15 (从一开始到123.45000 ,0后面)
  18.         字符串 " 54.3   abc"  函数返回  5 (从一开始到54.3, 3后面)
  19.         如果字符串不是 实数字符串
  20.         例如 字符串 "a 123.30" 字符串中是有实数,但是字符串以字母开始,所以不算,这种情况返回 -1

  21. */
  22. int real_num_str_len(char const *str)
  23. {
  24.         int ret = 0;
  25.         int decimal_point_flag = 0; //小数点标志
  26.         int ret_bak = 0;
  27.         
  28.         while(*str == ' ')
  29.         {
  30.                 ret++;
  31.                 if(ret >= 100) // 实数前面空格太多,继续下去可能会死循环
  32.                 {
  33.                         return -2;
  34.                 }
  35.                 str++;
  36.         }
  37.         
  38.         ret_bak = ret; // 备份ret
  39.         while(1)
  40.         {
  41.                 if( (*str < '0') || (*str > '9') )
  42.                 {
  43.                         switch(*str)
  44.                         {
  45.                                 case '+' :
  46.                                 case '-' :
  47.                                         break;
  48.                                        
  49.                                 case '.' :
  50.                                        
  51.                                         if(decimal_point_flag == 1) // 已经有一个小数点了,现在又有一个,就在这里结束吧
  52.                                         {
  53.                                                 return ret;
  54.                                         }
  55.                                         else
  56.                                         {
  57.                                                 decimal_point_flag = 1;
  58.                                         }
  59.                                        
  60.                                         break;
  61.                                        
  62.                                 default :
  63.                                         return ret;
  64.                                                         
  65.                         }
  66.                 }
  67.                
  68.                 ret++;
  69.                 str++;
  70.                
  71.                
  72.                 if(ret - ret_bak > 50) // 一个很长的实数,报错吧
  73.                 {
  74.                         return -3;
  75.                 }
  76.         }
  77.         
  78. }

  79. int str_handler(char *buff)
  80. {
  81.         
  82.         char *str_temp[ALPHABET_NUM];
  83.         int block_len = 0; // 一个字符和字符后面的实数分成一个块
  84.         int i = 0;
  85.         int j = 0;
  86.         char *new_buff = NULL;
  87.         int blank_space = 0;
  88.         int blank_count = 0;
  89.         
  90.         while(1) // 检查字符串,并把字符串分成块放在 str_temp
  91.         {
  92.                
  93.                 while(buff[i] == ' ') // 去掉每个块前面的空格
  94.                 {
  95.                         blank_space++;
  96.                         if(blank_space >= 100) // 块前面空格太多,继续下去可能会死循环
  97.                         {
  98.                                 return -3;
  99.                         }
  100.                         i++;
  101.                 }
  102.                
  103.                 switch(buff[i])
  104.                 {
  105.                         case '\n' :
  106.                                 goto next;
  107.                                 
  108.                                 
  109.                         case 'A' : // no break
  110.                         case 'B' : // no break
  111.                         case 'C' : // no break
  112.                         case 'D' :
  113.                                 
  114.                                 block_len = real_num_str_len(&buff[i + 1]);
  115.                                 if(block_len < 0)
  116.                                 {
  117.                                         return -1;
  118.                                 }
  119.                                 block_len++; // 指向下一个块
  120.                                 
  121.                                 new_buff = malloc(block_len + 1);
  122.                                 if(new_buff == NULL) // 无法申请内存
  123.                                 {
  124.                                         return -2;
  125.                                 }
  126.                                 
  127.                                 strncpy(new_buff, &buff[i], block_len);
  128.                                 *(new_buff + block_len) = '\0';
  129.                                 str_temp[blank_count] = new_buff;
  130.                                 
  131.                                 break;
  132.                         
  133.                         default : return -1;
  134.                 }
  135.                
  136.                 i += block_len;
  137.                 blank_count++;
  138.                
  139.                 if(buff[i] == '\n') // 已经确定字符串没有问题,并且字符串已经按块放在 str_temp
  140.                 {
  141.                         break;
  142.                 }
  143.         }
  144. next:        
  145.         // 下面开始排序


  146.         for(i = 0; i < blank_count - 1; i++)
  147.         {
  148.                 for(j = 0; j < blank_count - i - 1; j++)
  149.                 {
  150.                         if(str_temp[j][0] < str_temp[j + 1][0])
  151.                         {
  152.                                 char *temp = str_temp[j];
  153.                                 str_temp[j] = str_temp[j + 1];
  154.                                 str_temp[j + 1] = temp;
  155.                         }
  156.                 }
  157.         }               

  158.         
  159.         //排序完成,现在把str_temp 复制到 buff 就真的完事了
  160.         
  161.         *buff = '\0';
  162.         for(i = blank_count - 1; i >= 0; i--)
  163.         {
  164.                 strcat(buff, str_temp[i]);
  165.                 strcat(buff, " "); // 在两个块之间加入空格
  166.                 free(str_temp[i]); // 释放通过 malloc 申请的内存
  167.         }

  168.         
  169.         return 0;
  170. }

  171. int main(void)
  172. {
  173.         char buff[MAX_BUFF_LEN];
  174.         
  175.         
  176.         printf("请输入:");
  177.         while(1)
  178.         {
  179.                 fgets(buff, MAX_BUFF_LEN, stdin);
  180.                
  181.                 if(str_handler(buff) == 0) //str_handler 返回0 表示字符串没有问题,并且已经排序
  182.                 {
  183.                         break;
  184.                 }
  185.                
  186.                 printf("输入有误,请重新输入:");
  187.         }
  188.         
  189.         printf("%s\n", buff);
  190.         
  191.         
  192.         system("pause");
  193.         return 0;
  194. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 15:42:38 | 显示全部楼层
晚起鸟儿 发表于 2016-7-14 14:32
加了还是报错
D:\Microsoft Visual Studio\MyProjects\tiao\tiao.c(29) : error C2084: function 'int _ ...

你遇到的问题其他人也遇到了,看https://www.so.com/s?q=function+%27int+__cdecl+main(void+)%27+already+has+a+body&src=srp&fr=360chrome_toolbar_search&psid=c1bfa9aec646690ec81dffd45aaeb109
建议换一个编译系统吧,vc6适合初学者,你不是初学者吧,vs 2015 ,c-free都很不错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-14 15:43:04 | 显示全部楼层
人造人 发表于 2016-7-14 15:29
c-free 下没有问题,vs2015 下也没有问题,
你好像是多写了一份,把现在的程序删除(如果需要,请备份) ...

还是不行,删了重新复制粘贴也不行,我的是VC++6.0,没有多写,一样是206行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-14 15:44:41 | 显示全部楼层
晚起鸟儿 发表于 2016-7-14 15:43
还是不行,删了重新复制粘贴也不行,我的是VC++6.0,没有多写,一样是206行

http://www.tuxi.com.cn/888-11825-118252201.html
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-15 13:32:59 | 显示全部楼层
人造人 发表于 2016-7-14 15:44
http://www.tuxi.com.cn/888-11825-118252201.html

说实在的,我觉得您程序写得太复杂,虽然注释很详细,但我这菜鸟还是无法理解,应该可以更简单些的,c-free以前下载过,因为是跟鱼总视频练习,鱼总用VC6,没英文基础的菜鸟我无法适应用别的软件~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-15 15:11:39 | 显示全部楼层
晚起鸟儿 发表于 2016-7-15 13:32
说实在的,我觉得您程序写得太复杂,虽然注释很详细,但我这菜鸟还是无法理解,应该可以更简单些的,c-fr ...

为了程序的健壮性,这样是值得的,想想一个程序因为用户的错误输入或是故意刁难的输入,程序就死机或是莫名其妙的输出,我无法忍受这样的结果,还有c-free 可以是中文的呀 无标题.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-14 16:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表