- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我几乎可以正常工作了,但是它会将以大写字母开头的姓氏与不以大写字母开头的姓氏分开。
示例文件
LastName FirstName DaysofRental BalanceDue
史密斯乔 15 100.50
约翰 10 95.20
安德森保罗 30 20.00
O'Donell Miriam 10 24.30
福斯特山姆 30 15.00
Zom Pete 10 20.00
模拟寒冷 100 30
史密蒂克里斯 200 200
徐康纳 1 200
阿尼洛史蒂夫 0 0
正在输出什么“已排序”文件
LastName FirstName DaysofRental BalanceDue
安德森保罗 30 $20.00
小约翰 10 美元 95.20 美元
福斯特山姆 30 岁 $15.00
模拟寒冷 100 $30.00
O'Donell Miriam 10 $24.30
史密斯·乔 15 岁 $100.50
僵尸皮特 10 $20.00
阿尼洛史蒂夫 0 $0.00
斯密蒂克里斯 200 $200.00
徐康纳 1 $200.00
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <fstream>
#include <string.h>
using namespace std;
const int STRINGSIZE = 30;
const int LISTSIZE = 10;
const int HEADSIZE = 4;
typedef char STRING30[STRINGSIZE];
typedef STRING30 NAMES[LISTSIZE];
int main(int argc, char** argv)
{
ofstream outfile;
outfile.open("sorted.txt");
int count,
count2,
mindex;
int rdays[LISTSIZE],
hrdays;
double baldue[LISTSIZE],
totalbaldue,
hbaldue,
tempnum;
NAMES first,
last,
header;
STRING30 mname,
tempname;
ifstream in;
in.open("invoice1_test1.txt");
//Input Section
if(in.is_open())
{
in >> header[0]
>> header[1]
>> header[2]
>> header[3];
int count = 0;
while(!in.eof())
{
in >> last [count]
>> first[count]
>> rdays[count]
>> baldue[count];
count++;
}
in.close();
}
else
{
cout << "File failed to open" << endl;
}
for(count = 0; count < LISTSIZE; count++)
{
mindex = count;
strcpy(mname, last[count]);
for(count2 = count; count2 < LISTSIZE; count2++)
{
if(strcmp(last[count2], mname) == -1)
{
mindex = count2;
strcpy(mname, last[count2]);
}
}
strcpy(tempname, last[count]);
strcpy(last[count], mname);
strcpy(last[mindex], tempname);
strcpy(tempname, first[count]);
strcpy(first[count], first[mindex]);
strcpy(first[mindex], tempname);
tempnum = rdays[count];
rdays[count]= rdays[mindex];
rdays[mindex]= tempnum;
tempnum = baldue[count];
baldue[count] = baldue[mindex];
baldue[mindex] = tempnum;
}
outfile << setiosflags(ios::showpoint | ios::fixed) << setprecision(2);
outfile << left << setw(20) << header[0] << setw(20) << header[1] << setw(20) << header[2] << setw(20) << header[3] << endl;
for(int count = 0; count<LISTSIZE; count++)
{
outfile << left << setw(20) << last[count] << setw(20) << first[count] << setw(20) << rdays[count] << "$" << setw(20) << baldue[count] << endl;
}
最佳答案
使用 if (strcmpi(last[count2], mname) < 0);
为了比较,而不是 if (strcmp(last[count2], mname) ==-1);
strcmpi()
功能与strcmp()
相同但它不区分大小写。
同时添加 exit(1)
如果ifstream in
打不开。
关于C++ 在从文件中获取数据时使用 strcpy 和 strcmp 按字母顺序对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50185062/
请解释以下程序中发生了什么。 我在程序的开头和结尾检查了 strerror(errno) 返回的地址,并确认它每次都返回相同的地址。然后一旦确定这一点,在第一种情况下我继续将相同的地址分配给 ptr,
我正在尝试使用指针将字符串 str 复制到 str 中。我认为这可以使用单个指针本身来实现。每当我运行我的代码时,我都会显示 str1 但带有过多不需要的垃圾字符。请帮忙。提供一些见解 #includ
长话短说,我正在制作这款 3D OpenGL 构建器游戏。细节并不重要,但这是我的问题。我有这个字符串数组: char building_category_names_UPPER_CASE[][30]
我想使用 strcpy 将我所有的参数连接成一个字符指针。我正在这样做,但我的输出只是一个空格。 我使用了 3 个变量:'concat'(应该是我的输出)、'size' 来获取所有参数的长度和'kar
如果我有一个字符串数组 char* q[2]; q[0] = "Hello"; q[1] = "World"; 我想将 q[0] 放入一个新的字符串数组中 char* x[2]; 在 x[0] 中调用
我正在查看一个 strcpy 示例,其中他们增加了一个指针的值,并在 1 行中分配它,如下所示: *ptrA++ = *ptrB++; 我知道char数组中指针指向的值增加了,复制了内容。 c 会做类
我在 C 程序中使用了一个特定的数据结构,我用它来将类型信息附加到值。一个简单的示例如下所示: #include #include #include struct teststruct {
我需要将用户的输入存储到字符串数组中。 #include #include #include char *history[10] = {0}; int main (void) { cha
#include #include int main() { char *str, *temp; str = malloc(sizeof(char) * 100); fge
我有这样一个基本结构 typedef struct struck { char* id; char* mat; int value; char* place; } *T
我有一个以 开头的函数 void findErrors(int lineIndex){ char *line; strcpy(line, lines[lineIndex]); 然后调用另一个函
我运行了以下程序: #include #include #include int main() { char *p, *q; p = (char*)malloc(1); q =
Closed. This question is off-topic。它当前不接受答案。
每次我尝试将字符串插入程序中的二叉树时,我都必须使用 strcpy 并使用 strcpy 的目标才能成功插入。如果我不使用 strcpy 并仅使用源代码,程序将会崩溃。 示例: char *origi
我的代码给我带来了段错误。我调试了一下,执行strcpy时出现错误。该代码尝试从文本文件中提取数据并将其存储到结构数组中。我计划使用 strcpy 将文本文件的数据存储到结构中。知道为什么会发生这种情
#include #include #include char *vStrs[] = {"Max", "Moritz", "Bolte", "Hans Huckebein", "Helene",
我想知道是否有人可以帮助我解决这个段错误,valgrind 和 gdb 指向 strcpy(),但我仍然找不到它.. void listusers(userstat* ptustat) { F
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我有一个关于 strcpy() 的问题。据我了解,我认为 strcpy 复制位于指针处的字节,而不是指针本身。但这段代码似乎 react 不同。 char* str2 = (char*) mallo
我正在开发一个使用 UDP 协议(protocol)传输文件的项目,但是当我使用 strcpy() 将缓冲区复制到另一个字符串时,它总是丢失一些字符。 简单的想法是:我定义了一个结构: struct
我是一名优秀的程序员,十分优秀!