Missa inte Amazon Prime Day i Dagens fynd

Hjälp en stackars amatör! programmerare :)

Permalänk
Medlem

Hjälp en stackars amatör! programmerare :)

Hej!

Behöver hjälp att göra ett simplare program för att ta reda på och räkna ut hur mycket färg som ska användas när jag sprutlackerar. Detta är ett program som för mig skulle spara en väldans massa tid på.
Har programmerat för lite 10 år sedan, så tänkte höra om någon snäll person kan hjälpa mig på vägen med detta program.

#include <iostream> using namespace std; int main() { int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter int 2002 insida 0.1 liter, om 2002 utsida 0.5 liter int 2121 insida 0.1 liter, om 2121 utsida 0.35 liter int täcklack insida 0.1 liter, om 2001 utsida 0.6 liter cout << "Mata in typ av färg du ska använda" << endl; // 4st olika färger, dvs 2001, 2002, 2121, täcklack cout << "Ska du måla insida eller utsida?" << endl; // Insida eller utsida av objekt. cout << "Hur många objekt ska du måla?" << endl; //Skriv ut antal färgmängd som behövs per objekt. cout << "Total antal liter som går åt är: " << endl; //Utskriven summa i liter return 0; }

// Mata in färg, insida eller utsida, färg totalt för alla objekt, och recept i liter.

/Stort tack på förhand!

La till [code]-taggar
Permalänk

Din lösning bör göras i Excel/Libre Calc av hur många anledningar som helst. Inte minst att lycka till att få någon annan icke dum person att vilja köra din exekveringsbara fil på sin dator.

En helt annan sak är att man vill lära sig koda igen. Där jag tycker C++ idag är ett felaktigt val. Python, C# etc hade jag valt. Sedan skaffar man kanske en bok och din uppgift löses på de första sidorna.

Då frågar någon om det är så lätt i C++, varför då använda Excel? Jo för det tillkommer hela tiden förändringar man vill göra. Med Excel/libre Calc får man en lösning som är mycket lättare för att underhålla, lägga till nya saker för liknande problem.

I detta fall duger formler alldeles utmärkt. Såklart man kan göra coola saker med vba, med problemet att folk inte vill köra ens excelfil p.g.a. säkerhetsrisk.

*edit*
Ditt problem består av väldigt massa väldigt förenklad pseudokod. Svårigheten är mer av knep och knåp hållet att försöka komma på algoritmer. Detta kan man göra, sedan testar man dem emot hur det blev i verkligheten och funderar på varför det blev galet. Så kommer man få hålla på hur många gånger som helst till man får till något bra.

Det är inget problem som enkelt löses med ett kort svar av typen använd Gausselimination, man kan implementera den såhär och visa exempel..

Permalänk
Medlem
Skrivet av tmmy:

Hej!

Behöver hjälp att göra ett simplare program för att ta reda på och räkna ut hur mycket färg som ska användas när jag sprutlackerar. Detta är ett program som för mig skulle spara en väldans massa tid på.
Har programmerat för lite 10 år sedan, så tänkte höra om någon snäll person kan hjälpa mig på vägen med detta program.

#include <iostream> using namespace std; int main() { int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter int 2002 insida 0.1 liter, om 2002 utsida 0.5 liter int 2121 insida 0.1 liter, om 2121 utsida 0.35 liter int täcklack insida 0.1 liter, om 2001 utsida 0.6 liter cout << "Mata in typ av färg du ska använda" << endl; // 4st olika färger, dvs 2001, 2002, 2121, täcklack cout << "Ska du måla insida eller utsida?" << endl; // Insida eller utsida av objekt. cout << "Hur många objekt ska du måla?" << endl; //Skriv ut antal färgmängd som behövs per objekt. cout << "Total antal liter som går åt är: " << endl; //Utskriven summa i liter return 0; }

// Mata in färg, insida eller utsida, färg totalt för alla objekt, och recept i liter.

/Stort tack på förhand!

Beskriv lite mer exakt vad du behöver hjälp med, vart kör du fast?
Mvh

Visa signatur

[IT-Dept]
Ryzen 5700x - 32 - 1070

Permalänk
Medlem
Skrivet av lillaankan_i_dammen:

Din lösning bör göras i Excel/Libre Calc av hur många anledningar som helst. Inte minst att lycka till att få någon annan icke dum person att vilja köra din exekveringsbara fil på sin dator.

En helt annan sak är att man vill lära sig koda igen. Där jag tycker C++ idag är ett felaktigt val. Python, C# etc hade jag valt. Sedan skaffar man kanske en bok och din uppgift löses på de första sidorna.

Då frågar någon om det är så lätt i C++, varför då använda Excel? Jo för det tillkommer hela tiden förändringar man vill göra. Med Excel/libre Calc får man en lösning som är mycket lättare för att underhålla, lägga till nya saker för liknande problem.

I detta fall duger formler alldeles utmärkt. Såklart man kan göra coola saker med vba, med problemet att folk inte vill köra ens excelfil p.g.a. säkerhetsrisk.

Det har du nog rätt i, jag är dock väldigt okunnig i excel, men ska ta och se om det finns ett sådant alternativ jag kan lösa det på.
Men skulle varit häftigt ändå att ha ett litet smidigt program för att köra det på!
/Tack för tips!

Permalänk
Medlem
Skrivet av AllMessedUp:

Beskriv lite mer exakt vad du behöver hjälp med, vart kör du fast?
Mvh

Kör fast på hur jag ska definera variablerna för inmatning, dvs de olika färgerna och hur mycket som behövs för vad. Och sätta värden på dem, för utsida samt insida.

/tack!

Permalänk
Medlem
Skrivet av tmmy:

Kör fast på hur jag ska definera variablerna för inmatning, dvs de olika färgerna och hur mycket som behövs för vad. Och sätta värden på dem, för utsida samt insida.

/tack!

Dvs

int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter

Är det int som ska användas? behöver definera 0.1 för insida, och 0.3 för utsida.

Så antar att jag måste definera 2001 = 0.1 och om utsida matas in så ska det vara 0.3 tex

Permalänk
Medlem

Tycker också det låter mer som ett excel-problem där exempelvis Google Sheets hade varit perfekt, lätt att exportera och något eventuellt andra användare lätt kan använda som är plattformsoberoende.

Vill du tvunget programmera hade jag rekommenderar python. Vi behöver dock veta vad du vill göra för att förstå hur.

Edit: hade öppnat sidan och sedan väntat på att svara så såg ej dina svar ovan.

Skrivet av tmmy:

Dvs

int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter

Är det int som ska användas? behöver definera 0.1 för insida, och 0.3 för utsida.

Så antar att jag måste definera 2001 = 0.1 och om utsida matas in så ska det vara 0.3 tex

Int är heltal. Du ska använda float eller double.

Jag hoppas du tar detta i all välmening men det faktum att du inte vet visar att du verkligen inte är redo för att göra detta. Men återigen, vill du lära dig programmera så kör hört. Vill du få uppgiften gjort, byt till excel.

Om du definierar alla dina variabler som behövs samt vad du vill göra med dem så gör jag gärna en lösning i både excel och python åt dig imorgon

Visa signatur

CPU: Ryzen 5600xGPU: 1080 TI ROG Strix RAM:2x16GB G.skill Trident @ 3600MHz MoBo: Asus B550FPSU: Corsair SF750
En resa till Nordkorea
2 dagar i Tjernobyl

Permalänk
Medlem
Skrivet av Pelegrino:

Tycker också det låter mer som ett excel-problem där exempelvis Google Sheets hade varit perfekt, lätt att exportera och något eventuellt andra användare lätt kan använda som är plattformsoberoende.

Vill du tvunget programmera hade jag rekommenderar python. Vi behöver dock veta vad du vill göra för att förstå hur.

Mata in typ av färg du ska använda: Det finns 4st olika", dvs 2001,2002,2121,täcklack"

Ska du måla insida eller utsida? Välja vart på objektet som ska målas, om det är insida är det satt till 0.1, om utsida så varierar det om vilken färg som väljs.

Hur många objekt ska du måla? Antal objekt som ska målas

Total antal liter som går åt. Utskriven summa i liter

Permalänk
Medlem
Skrivet av Pelegrino:

Om du definierar alla dina variabler som behövs samt vad du vill göra med dem så gör jag gärna en lösning i både excel och python åt dig imorgon

Variablerna kan jag behöva modifiera med tiden, kanske bättre om jag specar upp det i excel så ni förstår vad jag menar.

/Tack!

Permalänk
Medlem

Kan ju kanske vara skönt att ha uppgifterna på plats innan man börjar med själva kodningen:

struct Color { int type; /* 0 = täcklack */ float inside; float outside; }; // int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter // int 2002 insida 0.1 liter, om 2002 utsida 0.5 liter // int 2121 insida 0.1 liter, om 2121 utsida 0.35 liter // int täcklack insida 0.1 liter, om 2001 utsida 0.6 liter Color colors[] = { // Typ Insida Utsida { 2001, 0.1, 0.3 }, { 2002, 0.1, 0.5 }, { 2121, 0.1, 0.35 }, { 0, 0.1, 0.6 }, // Stämmer detta? };

Skojsigt, första gången jag använder g++ i linux!
Med det sagt så blir koden kanske en C/C++ hybrid.

Inmatning gör du med

cin >> variabel;

Permalänk
Medlem
Skrivet av mc68000:

Kan ju kanske vara skönt att ha uppgifterna på plats innan man börjar med själva kodningen:

struct Color { int type; /* 0 = täcklack */ float inside; float outside; }; // int 2001 insida 0.1 liter, om 2001 utsida 0.3 liter // int 2002 insida 0.1 liter, om 2002 utsida 0.5 liter // int 2121 insida 0.1 liter, om 2121 utsida 0.35 liter // int täcklack insida 0.1 liter, om 2001 utsida 0.6 liter Color colors[] = { // Typ Insida Utsida { 2001, 0.1, 0.3 }, { 2002, 0.1, 0.5 }, { 2121, 0.1, 0.35 }, { 0, 0.1, 0.6 }, // Stämmer detta? };

Skojsigt, första gången jag använder g++ i linux!
Med det sagt så blir koden kanske en C/C++ hybrid.

Inmatning gör du med

cin >> variabel;

Försökte ett tag men gav upp!, testade med Excel istället, och den lösningen var nog bättre. Tack för hjälp!

Permalänk
Skrivet av lillaankan_i_dammen:

En helt annan sak är att man vill lära sig koda igen. Där jag tycker C++ idag är ett felaktigt val. Python, C# etc hade jag valt. Sedan skaffar man kanske en bok och din uppgift löses på de första sidorna.

Varför är C++ ett felaktigt val idag? Jag är väl av andra åsikten om att för få håller på med Assembly och C. Om man inte bryr sig om prestanda så kan man ju programmera i något av dem språken. Hur skulle du motivera valet av dessa språk?

Permalänk
Skrivet av xGreenRed:

Varför är C++ ett felaktigt val idag? Jag är väl av andra åsikten om att för få håller på med Assembly och C. Om man inte bryr sig om prestanda så kan man ju programmera i något av dem språken. Hur skulle du motivera valet av dessa språk?

Typ alla som läser ett vettigt datorteknikprogram på högskola får programmerar assembler, c, c++, vhdl och asic. Jag påstår många kan detta, men inte lika många använder det i sitt jobb för det är inte rätt redskap för den uppgift som de ska lösa.
Lite på samma sätt som att jag manuellt kan skapa worddokument genom handknacka .xml filer i notepad och inte ens behöver ha word/libre office. Ja, det går men det tar tid. Det är dock inte så komplicerat om man får googla och copy & pasta.

Men i detta fall så en person som inte kan grunderna inom programmering och på egen hand vill lära sig. Så känns inte C++ som ett rätt val. Det finns betydligt bättre språk för ändamålet, speciellt när man troligen sedan vill ha ett bättre interface än konsol.
*edit*
Jag själv och alla i min klass fick koda assembler på gymnasiet i en kurs. Och skapa worddokument etc gör jag dagligen genom att använda komponenter som genererar xml filer. (open Xml sdk)

Permalänk
Medlem
Skrivet av xGreenRed:

Varför är C++ ett felaktigt val idag? Jag är väl av andra åsikten om att för få håller på med Assembly och C. Om man inte bryr sig om prestanda så kan man ju programmera i något av dem språken. Hur skulle du motivera valet av dessa språk?

Är kanske lite overkill att bry sig om prestanda över huvudtaget för ett så simpelt program. Tror inte OP bryr sig om uträkningen efter inmatningarna tar 0.1 eller 3 millisekunder

Jag skulle nog också fixa något i excel för det.

Visa signatur

Redbox: Asrock B650 Lightning ATX, 7800x3D -20CCO, XFX 6950XT, 2x32GB Corsair Vengence 6400 CL32, WD SN770 2TB, Corsair RMe 1000, Lian Li Lancool 216, Peerless Assassin 120 SE
Purpbox: Z87-Pro, I5 4670K@4.2, Sapphire 290 TRI-X, 2x8GB Crucial Tactical@stock, Deep Silence 1
Samsung Evo 250+500GB + QVO 1TB, 2x1TB 7200RPM backup/lagring
Det var bättre förr: E5300 2600MHz -> 3640MHz, Celeron 300A -> 450MHz

Permalänk
Medlem
Skrivet av xGreenRed:

Varför är C++ ett felaktigt val idag? Jag är väl av andra åsikten om att för få håller på med Assembly och C. Om man inte bryr sig om prestanda så kan man ju programmera i något av dem språken. Hur skulle du motivera valet av dessa språk?

För en uppenbar novis är det inte rätt val imo. Som det visade sig i tråden, så var excel det som löste uppgiften bäst :). Antagligen det mest sämst prestanda, men där man når målet snabbast.

Som att bygga en robot för att flytta matkassen från hallen till köket i stället för att använda något som redan finns färdigt.

Visa signatur

Hur många datorer är för många?

Permalänk
Skrivet av lillaankan_i_dammen:

Typ alla som läser ett vettigt datorteknikprogram på högskola får programmerar assembler, c, c++, vhdl och asic. Jag påstår många kan detta, men inte lika många använder det i sitt jobb för det är inte rätt redskap för den uppgift som de ska lösa.

Jag tror många kan läsa assembler, vilket är bra för att se att man genererar okej kod. Mycket färre som faktiskt kan programmera vettigt i det. För OP så tycker jag inte att det spelar roll eftersom det är lika simpel programmering som krävs oavsett de språk som nämndes, så jag förstod bara inte argumentet.

Permalänk
Skrivet av xGreenRed:

Jag tror många kan läsa assembler, vilket är bra för att se att man genererar okej kod. Mycket färre som faktiskt kan programmera vettigt i det. För OP så tycker jag inte att det spelar roll eftersom det är lika simpel programmering som krävs oavsett de språk som nämndes, så jag förstod bara inte argumentet.

Det går diskutera semantik som ordet vettigt. Ytterst få kan idag göra något vettigt i assembler för att ens arbetskostnad ligger på från 1000kr/h och uppåt. Resultatet man får i assembler är ofta sämre på alla sätt och vis än en C lösning. Och jag syftar då även på prestanda då det är svårt att optimera koden lika bra. Det stora problemet är dock utvecklingstid, underhållstid och mängden buggar som man för in.
Att programmera assembler saker som bara användes i studierna så är det många som gör detta, jag själv och hela min klass gjorde RTOS(Realtidsoperativsystem) i skolan.

När det gäller enkla konsolapplikationer så är olika språk mer lätta än andra. Python är mycket mer användarvänligt än C++. Man får ofta en fräschare användargränssnitt och annat i utvecklingsmiljön.

*edit*
Att lära sig assembler är skitenkelt. Hela min klass gjorde detta i gymnasiet. Att lära sig hur man ska hantera det för kunna göra större program. Så handlar mycket om att lära sig göra vettiga designpattern så att man får en lättöverkomlig kod.

I praktiken är detta behov i assembler nästan helt utdött på arbetsmarknaden. De individer som får i uppdrag att programmera ett stort program som är lätt att underhålla i assembler är räknade.
En liknelse är att ladder i PLC. Det går garanterat få ungdomar i 7 års åldern att förstå det allra enklaste exmplen. Att därifrån göra ett megastort program utan en spagettikod som ingen fattar, det är det som är det svåra.

Permalänk
Skrivet av lillaankan_i_dammen:

Det går diskutera semantik som ordet vettigt. Ytterst få kan idag göra något vettigt i assembler för att ens arbetskostnad ligger på från 1000kr/h och uppåt. Resultatet man får i assembler är ofta sämre på alla sätt och vis än en C lösning. Och jag syftar då även på prestanda då det är svårt att optimera koden lika bra.

Jag syftar inte på att skriva en hel kodbas i assembly, utan att köra inline assembly eller en del av kodbasen för att kompilatorn inte kan generera tillräckligt effektiv kod. Men det kanske bara krävs är nyttigt för 'scientific computing'.

Permalänk
Medlem

Är programmet endast till för dig själv? Eller ska andra kunna komma åt det också? Om det bara är för dig själv så är det väl bara att köra på men om andra ska komma åt det så finns det lite att tänka på som tidigare tagit upp. Jag hade själv aldrig kört någon random .exe fil som skickats till mig och skriver du koden i ett scriptingspråk som python så måste mottagaren ha det installerat för att kunna köra koden.

Kan hålla med tidigare om att Excel är en bra lösning för ditt problem. Inte för att jag kan speciellt mycket om functions i Excel men slängde ihop ett snabbt test som du hittar på denna länken. Testa gärna att ändra antal liter och byta mellan insida/utsida (du kan radera insida/utsida med delete tangenten). Finns säkert kunnigare människor som kan göra det snyggare men det borde väl uppfylla de krav du ställde på programmet med fördelen att du kan skicka det till folk så de kan fylla i själva. Enda jag inte riktigt förstod i din förklaring var antal objekt som ska målas så har helt enkelt en kolumn för kvadratmeter.