Inlägg
Hur ny (eller gammal) är boken?
C++ har ändrats ganska mycket med tiden. Dagens kompilatorer är nog striktare än de som användes för 15+ år sedan. Ovanstående inlägg stämmer bra.
Om du kompilerar programmet som det står i boken (med en kompilator som accepterar det -- GCC ger "bara" en varning), och i Hello() försöker t ex sätta name[0] = 'A' så kommer programmet krascha, eftersom textsträngen lagras i minne som inte är skrivbart.
Om parametern istället är "const char *", som den (åtminstone numer) bör vara så får man kompileringsfel, vilket förstås är att föredra över en krasch.
Den är från 2012 så mycket kan nog ha ändrats sen dess? Går en baskurs i programmering och de går efter den här boken. Men skönt att veta vad problemet var i alla fall
@Skogskotten: Om det är C++ du ska använda skulel jag rekommendera std::string istället:
#include <iostream>
#include <string>
void Hello(std::string name)
{
std::cout << "Hej " << name << "!";
}
int main()
{
Hello("Krister");
std::cin.get();
return 0;
}
Tack för tipset, jag föredrar att använda string men ville gärna veta hur jag skulle göra för att använda char också
@Skogskotten: "Krister" är konstant i.o.m att du skrivit in det direkt, så det kommer aldirg gå att ändra, funktionen Hello, förväntar sig en char array som den kan mutera (ändra)
Tack förstår vad du menar! Konstigt att de använder det som ett exempel i boken när det är fel. Prövade att göra om det till en char vektor och det funkade
Tack alla för hjälpen! Har nu löst uppgiften och förstår mer hur man skapar dynamiska vektorer
Har också en annan övningsuppgift jag har problem med som har med char och funktioner att göra. Skriver exakt som ett exempel i boken men jag får error när jag försöker köra det. Det funkar när argumentet är const char* istället för char*, men exemplet i boken säger att man ska använda char*. Vet någon varför det inte funkar för mig?
#include "stdafx.h"
#include <iostream>
using namespace std;
void Hello(char* name)
{
cout << "Hej " << name << "!";
}
int main()
{
Hello("Krister");
cin.get();
return 0;
}
Vektorer C++ Hjälp
Hej,
Jag försöker lösa en övningsuppgift i C++ och skulle behöva hjälp med hur man skapar dynamiska vektorer. Detta är övningsuppgiften:
"Skapa en vektor som ska innehålla temperaturmätningar från en väderstation. I programmets början ska användaren få ange hur många mätningar som har gjorts. Därefter får användaren mata in olika temperaturer. Temperaturerna ska anges i decimaltal. Programmet ska sedan skriva ut de olika temperaturerna och medeltemperaturen."
Tror att man ska använda sig av en dynamisk vektor. Tyvärr står det inte så mycket i boken hur man gör detta. Detta är det enda exemplet vilket jag inte riktigt förstår:
int size;
cin >> size;
int* x;
x = new int[size];
.
.
.
delete[];
Så här långt har jag kommit hittills men det går inte att köra. Har bara använt int nu men vill att size ska vara int och att temperaturerna användaren anger ska vara float. Vad gör jag fel?
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
float sum = 0;
int temperatures[];
cout << "Hur många m\x84tningar har gjorts?\n";
int size;
cin >> size;
int* x;
x = new int[size];
for (int i = 0; i < size; i++)
{
cin >> temperatures[i];
sum = sum + temperatures[i];
}
cout << "Summan blir: " << sum;
float avg = sum / size;
cout << "Medeltemperaturen blir: " << avg;
cin.get();
return 0;
}
- [Diskussion] De bästa gratisprogrammen för Windows!587
- Mp3-spelare 2025? Dags att stänga av hjärnan och bara njuta av musiken.31
- Vänta på paket-tråden!4,5k
- Besiktning - När blev det så dyrt?.101
- Värdering av PC0
- Windows 11 orsakar inte SSD-fel, enligt Microsoft71
- Rabbel.se - Ett dagligt ordspel2,6k
- Vilket ris rekommenderas?2
- CC - Projekt North12
- [FAQ] Vilken router ska jag köpa?4,6k
- Säljes Razer Deathadder V2 Pro + Razer Chroma laddstation
- Säljes ROG Harpe Ace Aim Lab Edition
- Säljes Ryzen 3900x och 32gb ram
- Säljes ASUS 1080Ti ROG
- Säljes Tavlor Sci Fi damer
- Säljes Nintendo switch (v.2) + spel + extra docka.
- Säljes Gaming dator ryzen 7900x/amd 7900 xt
- Säljes AMD Vega 64 8 GB
- Säljes Flyttstäd
- Köpes Vill köpa rtx 5080
Tester av grafikkort, processorer m.m.
- Cooler Master Masterhub – som Stream Deck fast dyrare och sämre4
- Asus Geforce RTX 5080 Noctua OC Edition - Ich bin ein believer!55
- AMD Ryzen Threadripper 9980X & 9970X – bäst i klassen26
- Corsair Frame 4000D RS ARGB - maxad prestanda per peng16
- Fractal Design Scape – en stark hörlursdebut53
- Samsung Galaxy Z Fold 7 – den bästa hittills57
- Snabbtest: Nvidia Smooth Motion med Geforce RTX 409027
- Nothing Phone 3 – rolig och snygg31
- Samsung mot Kingston – test av PCI Express 5.0 SSD44
- Roundup: Sex luftkylare utmanar kylarkungen Noctua75
Externa nyheter
Spelnyheter från FZ
- Stardew Valley-skaparen Eric Barone finns med i Silksong igår
- Uppföljare till VR-spelet Batman: Arkham Shadow bekräftad igår
- Pengarna tillbaka för de som bokat premiumversionen av Bloodlines 2 igår
- Spelhelg med Yōtei och Silksong – vad spelar du? 05/09
- FZ High Score – 17 pers prickade Cronos-betyget 05/09