这个C ++程序中的格式有什么问题?

时间:2016-05-01 19:17:14

标签: c++

最近我问了一个关于我制作的这个c ++程序的问题,我因为格式错误而被责骂但是没有人明确地描述我应该如何格式化它。我知道这很糟糕,我是一个初学者,但如果有人有足够的人向我解释这个程序有什么问题(抱歉,如果太模糊),那就太好了。感谢。

这是一个工作程序,可以读取" bac.txt"中的数字。并返回最常出现的2位数字/数字(10,11,12,...,99)。例如,如果文件" bac.txt"包含393 17775787 72194942 12121774它将返回77和21。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

    int counter(int n)
    {
        int i = 0, j = 0;
        char x1 = n / 10 + '0';
        char x2 = n % 10 + '0';
        char a;
        char b;

        fstream fisier("bac.txt", fstream::in);
        fisier >> b;
        while (fisier >> a) {
            if (b == x1 && a == x2)
                i++;
            b = a;
        }
        return i;
    }

    int main()
    {
        int v[101];
        int i, maxim = 0, nr;
        for (i = 10; i < 100; i++) {
            v[i] = counter(i);
            if (v[i] > maxim)
                maxim = v[i];
        }

        for (i = 10; i < 100; i++)
            if (v[i] == maxim)
                cout << i<<" ";
    }

2 个答案:

答案 0 :(得分:1)

查看上一个问题,您显示的代码格式与上一个问题的格式不同。

您上一个问题的代码如下:

enter image description here

但是,您当前的问题代码看起来格式正常(有一些小问题,比如顶级缩进)。

答案 1 :(得分:0)

我觉得它看起来不错。这完全取决于谁会阅读它。公司和项目通常都有严格的代码风格。它通常看起来像这样:

if( var1 == var2 ) {
   while( ...){
      doSomething();
      // Capitalize your comments, and end with a period.
   }
} else {
  ...
}

我认为这叫做java风格。 或者有时候:

if( var1 == var2 )
{
   while( ...)
   {
      doSomething();
      // Capitalize your comments, and end with a period.
   }
}
else
{
   ...
}

这是c风格。 这主要是(老板的)偏好问题。

如果你不与人合作,或发布你的代码(例如在SO上),当然不那么重要。我个人喜欢这种语法:

for ( int x=0; x < 100; x++)
for ( int y=0; y < 100; y++)
{    
  doSomething();
}

它确实看起来更整洁,但我绝不敢将它发布到某个地方,或将其推送到协作项目,因为很多人往往会感到困惑。

是的,重要的是,它可能会导致值得own website的错误。